x=0
while x <= 40: # x is 0, then 3 ... again and again
m = [1, 2] # m = [1,2] ... again and again
x = m[-1] + m[-2] # x = 3 ... again and again
m.append(x) # m = [1,2,3]
print(m) # never hit
修正:
x=0
m = [1, 2]
while x <= 40:
x = m[-1] + m[-2]
m.append(x)
print(m)
每次都在while循环中设置
m
。而是这样做你需要申报
在循环外部。您的代码将计算出的
x = 1+2
添加到m
,然后重置m = [1,2]
,因此x再次计算为1+2:修正:
获得第n个fibonacci:Efficient Pythonic generator of the Fibonacci sequence的更高效实现
请将初始化
m = [1, 2]
移到前面的for循环之外相关问题 更多 >
编程相关推荐