每天一习题,提升Python不是问题!!有更简洁的写法请评论告知我!

https://www.cnblogs.com/poloyy/category/1676599.html

 

题目

已知一个数列:1、1、2、3、5、8、13、。。。。的规律为从 3 开始的每一项都 等于其前两项的和,这是斐波那契数列。求满足规律的 100 以内的所以数据

 

解题思路

  1. 初始化列表[1,1]
  2. 循环,从第三个下标开始的值都等于前一位的值+前前一位的值
  3. 若新的值已大于100则跳出循环

 

答案

a = [1, 1]
for i in range(2, 100):
    sum = a[i - 1] + a[i - 2]
    if sum > 100:
        break
    a.append(sum)
print(a)