我不确定这个问题的合适标题是什么,这也可以是一个重复的问题。所以请相应地指导。
我是 python 编程的新手。我有这个简单的代码来生成斐波那契数列。
1: def fibo(n):
2: a = 0
3: b = 1
4: for x in range(n):
5: print (a, end=' ')
6: #a, b = b, a+b
7: a = b
8: b = a+b
9: print()
10: num = int(input("enter n value: "))
11: print(fibo(num))
如果我按原样执行上面的代码,我得到的结果如下
enter n value: 10
0 1 2 4 8 16 32 64 128 256
如果取消注释 #6 和注释行 #7 和 #8,我得到的结果是实际的 fibo 系列。
enter n value: 10
0 1 1 2 3 5 8 13 21 34
我想知道有什么区别
a, b = b, a + b
和
a = b
b = a + b
使用的编程IDE:PyCharm Community 2017.3
最佳答案
a = b
b = a + b
实际上是:
a = b
b = b + b
你想要的是:
a = b
b = old_value_of_a + b
当你做
a, b = b, a + b
它确实在做:tmp_a = b
tmp_b = a + b
a = tmp_a
b = tmp_b
这就是你想要的
关于Python(斐波那契数列): trying to understand what is the difference between a, b = b, a + b OR a = b & a = a + b,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48072131/