【发布时间】:2018-06-03 03:57:02
【问题描述】:
我对 Python 比较陌生,请原谅我的无知。
这两个用于生成 Fib 系列的 while 循环实现导致了非常不同的输出。
第一个是返回 2 的幂级数,虽然我觉得它应该和后者完全一样;这将返回预期的系列。
第二个 while 循环显然做对了。我猜这与交换值时分配变量的方式有关。
造成这种差异的原因是什么?
感谢您的意见和帮助,
第一个while循环:
def fib(n):
x=0
y=1
while y < n:
print(y)
x = y
y = x + y
第二个while循环:
x,y=0,1
while y < 100:
print(y)
x,y = y,x+y
【问题讨论】:
-
逐行运行(或添加更多打印语句) - 您很快就会看到发生了什么。
-
x在计算y的新值之前被修改。 -
谢谢,好建议
标签: python loops while-loop fibonacci