●斐波那契數列
斐波那契數列(Fibonacci sequence),是從1,1開始,后面每一項等於前面兩項之和。
如果為了方便可以用遞歸實現,要是為了性能更好就用循環。
◆遞歸方式實現生成前30個斐波那契數
list = []
for i in range(30):
if i == 0 or i == 1:
list.append(1)
# print(f"第{i+1}個斐波那契數是:{list[i]}")
else:
list.append(list[i-2]+list[i-1])
# print(f"第{i+1}個斐波那契數是:{list[i]}")
print(list,end=",")
◆普通方式實現生成前1000以內的斐波那契數
a = 0
b = 1
while b < 1000:
print(b, end=" , ")
a,b = b, a+b
◆遞歸方式實現用戶輸入查詢第n個斐波那契數--此種方式當查詢的數據比較大時會反應比較慢
def fibona(n):
return 1 if n <= 2 else fibona((n-1))+fibona(n-2)
n = int(input("請輸入你要查的第幾個斐波那契數:"))
print(f"你要查詢的第{n}個斐波那契數是:{fibona(n)}")
◆普通方式實現用戶輸入查詢第n個斐波那契數--此種方式性能比較好!
step = int(input("請輸入你要查的第幾個斐波那契數:"))
x,y = 1,1
for i in range(step-1):
x,y = y,x+y
print(f"你要查詢的第{step}個斐波那契數是:{x}")