我对编程(一般和Python)和这个社区都是新手
下面是两个版本的斐波那契代码,一个由我自己尝试,另一个来自Python文档。后者有效,但我的不起作用,我能看到这两个代码之间的唯一区别是,我在while循环中的不同行上重新分配了“a”和“b”,而Python文档中的那一行。已将它们分配到同一行
事实上,当我在同一行代码中为a和b重新分配新值时,我得到了正确的输出——但我不知道为什么?在这种情况下,在哪一行重新分配值很重要
#My own version of the fibonacci code. o/p as 1 2 4 8
a, b=0,1
while b<10:
print(b, end=" ")
a=b
b=a+b
#Python's doc version which works
a, b = 0, 1
while b < 10:
print(b, end=" ")
a, b = b, a+b
因为在你的版本中,当你写
b=a+b
时,你只是在a=b
之前写,所以这行是b=a+a
在另一个版本中,有
a, b = b, a+b
但在这个例子中,b和a在同一时间变化(如果你愿意,你可以说
你会说:
)
在代码中,a在求和之前获取b的值
在doc版本中,a在求和之前不会像在同一行中一样获得更新值。a和b的值在此行之后更新
相关问题 更多 >
编程相关推荐