# program to generate the Fibonacci sequence
a, b=0,1
while b<10:
Print b
a, b=b,a+b
# my intuitive substitute
a=0
b=1
while b<10
print b
a=b
b=a+b
上面的代码片段包含两个程序,一个来自Python文档,另一个来自直觉我,我认为它们都会产生类似的结果,但是前者输出1 2 3 5 8,后者输出1 2 4 8。一个好心人能解释一下原因吗?你知道吗
Tags:
此声明:
这些声明:
不是一回事。前者在变量具有新值之前完成所有赋值。后者一次做一个。你知道吗
因此,例如,从
a = 0
和b = 1
开始,逐步执行逻辑:相反地:
在您的示例中,当您执行
b = a+b
时,您使用的是前一行中修改的a
。在Python的例子中,变量是同时分配的。你的工作应该是:相关问题 更多 >
编程相关推荐