●斐波那契数列
斐波那契数列(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}")