python斐波那契数列

285 阅读1分钟

 

编写fib.py脚本,实现以下目标:

  1. 斐波那契数列就是某一个数,总是前两个数之和,比如0,1,1,2,3,5,8
  2. 使用for循环和range函数编写一个程序,计算有10个数字的斐波那契数列
  3. 改进程序,要求用户输入一个数字,可以生成用户需要长度的斐波那契数列

1.输入一个变量确定列表长度,for循环用内置函数range确定循环次数,利用切片方法将列表fib最后两数之和追加到列表中,每循环一次追加一个值

2.for循环用内置函数range确定循环次数,每循环一次执行:将变量b的值赋值给变量a,并且将a b之和赋值给b,此时,a的新值是前一个b的值,b的新值是前面a b之和,让a成为数列中的值

步骤一:编写脚本

  1. vim fib.py
  2. #!/usr/bin/env python3
  3. a, b = 0, 1
  4. for i in range(10):
  5. print(a)
  6. a, b = b, a + b

或将上面的代码改为以下写法:

  1. [root@localhost day03]# vim fib2.py
  2. #!/usr/bin/env python3
  3. fib = [0, 1]
  4. l = int(input("数列长度: "))
  5. for i in range(l - 2):
  6. fib.append(fib[-1] + fib[-2])
  7. print(fib)

步骤二:测试脚本执行

  1. python3 fib.py
  2. 0
  3. 1
  4. 1
  5. 2
  6. 3
  7. 5
  8. 8
  9. 13
  10. 21
  11. 34
  12. [root@localhost day03]# python3 fib2.py
  13. 数列长度: 9
  14. [0, 1, 1, 2, 3, 5, 8, 13, 21]
  15. [root@localhost day03]# python3 fib_func.py
  16. [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]

  17. length: 9
  18. [0, 1, 1, 2, 3, 5, 8, 13, 21]