Q11~20
11 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
12 题目:判断101-200之间有多少个素数,并输出所有素数。
1 l_a=[] 2 3 def func(a): 4 for i in range(2,a): 5 b=a%i #b为余数 6 l_b.append(b) 7 if all(l_b)==True: #判断所有的余数是否都不为0 8 l_a.append(a) 9 else: 10 return 11 12 for a in range(101,201): #a为除1外的自然数 13 l_b=[] 14 func(a) 15 16 print(l_a)
1 la=[] 2 a=100 3 4 while a <=200: 5 a+=1 6 l = [] 7 for i in range(2,a): 8 l.append(a%i) 9 if all(l)==True: 10 la.append(a) 11 else: 12 continue 13 14 print("1到100的素数为",la)
13 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方
14 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
15 题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
16 题目:输出指定格式的日期。
17 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
18 题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制。
1 import sys 2 while 1: 3 a = int(input("请输入数字a,或输入0退出")) 4 if a==0: 5 sys.exit(0) 6 n = int(input("请输入几项,或输入0退出")) 7 if n==0: 8 sys.exit(0) 9 else: 10 l=[] 11 l_a=[] 12 13 for i in range(0,n): 14 l.append(10**i*a) 15 16 for j in range(1,n+1): 17 an=sum(l[0:j]) 18 l_a.append(an) 19 s=sum(l_a) 20 print(s,l_a)
19 题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000以内的所有完数。
20 题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
1 while 1: 2 x = int(input("请输入第几次落地,若退出请输入0")) 3 if x!=0: 4 h=100 5 l=[] 6 l.append(100) 7 8 def hight(x): 9 hight = h*(0.5**x) 10 return hight 11 12 for i in range(1,x+1): 13 l.append(hight(i)*2) 14 15 sum_hight=sum(l) 16 last_hight=hight(x) 17 print(last_hight,sum_hight,l) 18 else: 19 break