1 # File : exercise_06_fibonacci_number.py
2 # Datetime : 2022/4/11 0011 23:07
3
4 # 玩玩斐波那契列数 输出第10个数的值
5
6 # 使用递归输出
7
8 def fibonacci_number(num):
9 if num <= 1:
10 return num
11 return fibonacci_number(num - 1) + fibonacci_number(num - 2)
12
13
14 print(fibonacci_number(9)) # 以0开头的 所以第10个数需要-1
15
16 # 使用for循环输出
17 count = 10 # 数列的元素个数
18 before_num = 0 # 第一个数
19 after_num = 1 # 第二个数
20 result = 0
21 for i in range(1, count):
22 if i <= 1:
23 result = i
24 else:
25 before_num, after_num = after_num, before_num + after_num
26 result = after_num
27
28 print(result)
29
30 # 使用while循环输出
31 i = 0
32 count2 = 10 # 数列的元素个数
33 before_num1 = 0 # 第一个数
34 after_num1 = 1 # 第二个数
35 result2=0
36 while i < count - 2: # 第一个数和第二个数已经定义了,从第三个数开始循环计算
37 before_num1, after_num1 = after_num1, before_num1 + after_num1
38 result2 = after_num1
39 i += 1
40 print(result2)
41
42
43 # 输出斐波那契列数列表
44 # 使用for循环输出0到1000之间的斐波那契列数
45 fibonacci1_list2 = [] # 斐波那契列数列表
46 before_nuber = 0 # 第一个数
47 after_number = 1 # 第二个数
48 for i in range(0, 1000):
49 res = 0
50 if i <= 1:
51 res = i
52 fibonacci1_list2.append(res)
53 else:
54 before_nuber, after_number = after_number, before_nuber + after_number
55 res = after_number
56 if res < 1000:
57 fibonacci1_list2.append(res)
58 else:
59 break
60 print(fibonacci1_list2)
61
62 # 使用while循环输出0到1000之间的斐波那契列数
63 fibonacci1_list3 = [0]
64 a, b = 0, 1
65 while b < 1000:
66 a, b = b, a + b
67 fibonacci1_list3.append(a)
68 print(fibonacci1_list3)