【python】编程语言入门经典100例--22

1 #题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。

代码:

  2 
  3 ‘a‘ != ‘x‘
  4 ‘c‘ != ‘x‘
  5 ‘c‘ != ‘z‘
  6 
  7 if (‘x‘ != ‘a‘) and (‘x‘ != ‘c‘):
  8     print (‘x --- b‘)
  9     if ‘c‘ != ‘z‘:
 10         print(‘z --- a‘)
 11         print(‘y --- c‘)

运行结果:

[[email protected] code_100]# python code_22.py 
x --- b
z --- a
y --- c
[[email protected] code_100]#

代码解释:

 #思路:这个题牵扯太多的判断条件,本程序只写了if成立的情况下的分支的代码,根据这个格式可以罗列出所有的判断条件,最后运行结果是相同的 
  2 
  3 ‘a‘ != ‘x‘                       #题目给出的预判条件
  4 ‘c‘ != ‘x‘
  5 ‘c‘ != ‘z‘
  6 
  7 if (‘x‘ != ‘a‘) and (‘x‘ != ‘c‘):    #根据前两个预判条件,确定第一组对阵名单
  8     print (‘x --- b‘)                #打印第一组对阵名单
  9     if ‘c‘ != ‘z‘:                   #排除第一组对阵名单,根据第三个预判条件,确定第二组对阵名单
 10         print(‘z --- a‘)             #打印第二组对阵名单
 11         print(‘y --- c‘)             #剩余的两人就是第三组对阵名单
时间: 2024-12-14 03:30:07

【python】编程语言入门经典100例--22的相关文章

【python】编程语言入门经典100例--20

1 #题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半:再落下,求它在第10次落地时,共经过多少米?第10次反弹多高? 代码:   2    3 h = 0   4 li = []   5 for i in range(1,11):   6     s = 100/(2**(i-1))   7     li.append(s)   8    9 for x in li:  10     h += x  11 print(li)  12 print('球在第十次落地时,共经过了%.1

【python】编程语言入门经典100例--37

1 #题目:对10个数进行排序 代码:   2 i = 1   3 li = []   4 while i <= 10:   5     li.append(int(input('请输入第%d个数字:'%i)))   6     i += 1   7 print('这十个数分别为:')   8 print(li)   9   10 liorder = []  11 x = 0   12 while x == 0:  13     if li != []:  14         m = li[0

【python】编程语言入门经典100例--18

1 #题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字.例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制. 代码:   2    3 num = int(input('请输入需要相加的数字:'))   4 m = int(input('请输入需要相加的次数:'))   5 s = 0   6 for j in range(1,m+1):   7     for i in range(1,j+1):   8         s += 

【python】编程语言入门经典100例--28

1 #题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁.问第4个人岁数,他说比第3个人大2岁.问第三个人,又说比第2人大两岁.问第2个人,说比第一个人大两岁.最后问第一个人,他说是10岁.请问第五个人多大? 代码:   2    3 li = [0]*5   4 li[0] = 10   5 for i in range(1,5):   6     li[i] = li[i-1] + 2   7 print('第五个人是%d岁'%li[4]) 运行结果: [[email prote

【python】编程语言入门经典100例--29

1 #题目:给一个不多于5位的正整数,要求:一.求它是几位数,二.逆序打印出各位数字. 代码:   2    3 li = list(input('输入一个不多于5位的正整数:'))   4 n = len(li)   5 print('这个正整数是%d位数'%n)   6 i = 0   7    8 def order(li,n,i):   9     if i <= n-1-i:  10          tmp = li[i]  11          li[i] = li[n-1-i]

【python】编程语言入门经典100例--26

1 #题目:利用递归方法求5!. 代码:   2 def fac(n):   3     if n == 1:   4         return 1   5     return n*fac(n-1)   6 print('5的阶乘是%d'%fac(5)) 运行结果: [[email protected] code_100]# python code_26.py  5的阶乘是120 [[email protected] code_100]# 代码解释:  思路:递归一般使用函数的形式,在函数

【python】编程语言入门经典100例--8

题目:输出9*9口诀 代码:   2    3 for i in range(1,10):   4     for j in range(1,10):   5             if j < i:   6                 print('%d*%d=%d '%(j,i,i*j),end = '')          7             elif i == j:   8                 print('%d*%d=%d'%(j,i,i*j)) 运行结果:

【python】编程语言入门经典100例--12

1 #题目:判断101-200之间有多少个素数,并输出所有素数. 代码:   3 tmp = [n for n in range(101,201)]   4 for i in reversed(tmp):   5     for j in range(2,i):   6         if (i%j == 0):   7             tmp.remove(i)   8             break   9 print('101到200之间有%d个素数'%len(tmp))  

【python】编程语言入门经典100例--19

1 #题目:一个数如果恰好等于它的因子之和,这个数就称为"完数".例如6=1+2+3.编程找出1000以内的所有完数. 代码:   2    3 for i in range(1,1001):   4     s = 0   5     for j in range(1,i):   6         if i%j == 0:   7             s += j   8     if s == i:   9         print(i) 运行结果: [[email pro