知识模块(七) 循序渐进
2.2 格式:range(start,stop)
上面都是从小到大输出,那可不可以从大到小输出。例如输出 10 9 8 ... 2 1。
题 4:(猴子吃桃子问题)一群小猴子一天摘了许多桃子,第一天吃了一半,然后 忍不住又吃了一个;第二天又吃了一半,再加上一个;后面每天都是这样吃。到 第 10 天的时候,小猴子发现只有一个桃子了。问小猴子第一天共摘了多少个桃子。
- '''#练1:默认range(10),输出i的值,看看i的变化。
- for i in range(10):
- print(i)
- #练2:例如,我们要取从6到60的数字,用range()函数实现。
- for i in range(6,60+1):
- print(i, end=" ")
- #练3:例如range()输出1 4 7 11 15 ...27 30。
- for i in range(1,31,3):
- print(i,end=" ")
- #练4:请用range()依次输出100到1的值。
- for i in range(100,0,-1):
- print(i,end=" ")
- #练6:实现输出n到m的偶数值
- n = int(input())
- m = int(input())
- sum1 = 0
- for i in range(n,m+1):
- if i % 2 == 0:
- sum1+=i
- print(sum1)
- '''
- '''
- 题1:菲波那契数列,数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。
- 1 1 2 3 5 8 13 21 34 55 ...
- 请输入数值n,求斐波那契数列从1到第n个数的值?
- n = int(input())
- a = 0
- b = 1
- for i in range(n):
- t = a
- a = b
- b = a + t
- print(a, end=" ")
- #方法2
- k = int(input())
- s = []
- s.append(1)
- s.append(1)
- for i in range(2,k):
- s.append(s[i-1] + s[i-2])
- print(s[k-1])
- '''
- '''
- 题2:老师要统计全班同学的考试成绩score。
- 而且老师要算出班级的平均成绩、最高分、最低分。
- 首先请输入班级人数,再输入班级同学的成绩,并进行编程运算。
- n = int(input("人数:"))
- sum1 = 0 #存成绩
- for i in range(n):
- score = float(input("成绩:"))
- sum1 += score
- if i ==0:
- max1 = score
- min1 = score
- else:
- if max1 < score: # 当第二、三成绩比第一个成绩要大
- max1 = score # 就要替换 更新
- if min1 > score: # 当第二、三成绩比第一个成绩要大
- min1 = score # 就要替换 更新
- print("总成绩:" ,sum1)
- print("平均成绩:%2.f" % (sum1/n) )
- print("最大值:", max1)
- print("最小值:", min1)
- print("极差:", max1 - min1)
- '''
- '''
- 题1:所谓的“水仙花数”是指一个三位数其各位数字的立方和等于该数本身。
- 例如153是“水仙花数”,因为:153 = 13 + 53 + 33。
- 现请问100-999范围内的水仙华数有哪些,请输出出来。
- cnt = 0
- for i in range(100,1000):
- ge = i % 10
- shi = i % 100 // 10
- bai = i // 100
- if ge**3 + shi**3 + bai**3 == i:
- cnt += 1
- print(i)
- print("个数:", cnt)
- '''
- '''
- 题2:回文数,回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如12321 从哪边读都是一样的。
- 请求出1-1000范围内的回文数,并统计出来。
- cnt = 0
- for i in range(1,1000):
- if i<10:
- cnt += 1
- print(i,end=" ")
- elif i<100:
- if i % 10 == i // 10:
- cnt += 1
- print(i,end=" ")
- else:
- if i % 10 == i // 100:
- cnt += 1
- print(i,end=" ")
- print()
- print('回文数:', cnt)
- '''
-
- '''题3:(银行存利息问题)农夫约翰在去年赚了一大笔钱!他想要把这些钱用于投资,
- 并对自己能得到多少收益感到好奇。已知投资的复合年利率为R (0到20之间的整数)。
- 约翰现有总值为M的钱(100到1,000,000之间的整数)。
- 他清楚地知道自己要投资Y年(范围0到400)。
- 请帮助他计算最终他会有多少钱,并输出它的整数部分。
- 某一年的利息 = 本金M * 年利率R%
- 某一年的钱 = 利息 + 本金
- 请你编程输入本金m,利率r,年数y;算出每一年的总钱数。
- m, r, y = input().split(" ") # 空格隔开输入
- m = float(m)
- r = int(r)
- y = int(y)
- for i in range(y):
- m += m * r * 0.01
- print("第%d年的钱:%.2f " %(i+1,m))
- '''
-
- '''题4(猴子吃桃子问题)一群小猴子一天摘了许多桃子,
- 第一天吃了一半,然后忍不住又吃了一个;
- 第二天又吃了一半,再加上一个;后面每天都是这样吃。
- 到第10天的时候,小猴子发现只有一个桃子了。
- 问小猴子第一天共摘了多少个桃子。'''
- n=1
- day = 10
- for i in range(day):
- if i==0:
- print("第%d天桃子数:" % day,1)
- else:
- n = (n+1)*2
- print("第%d天桃子数:%d" % (10-i,n))