【发布时间】:2016-12-12 06:03:30
【问题描述】:
今天在编写斐波那契数所需的基本程序时,我遇到了以下情况,需要同时初始化两个变量 x 和 y。
原来是我写的
x=1
y=2
......
x = y
y = x+y
这显然不能同时初始化两者,因为 x 变为 2 导致 y 变为 4,这不遵循斐波那契数列。
它必须替换为以下内容(在搜索之前我不知道这是可能的):
x,y = y,x+y
因此这会产生正确的序列(x=2 和 y =3)
我的问题是为什么会这样?或者更具体地说,该行代码语法下的变量的内存分配发生了什么。我们是否告诉编译器在更改为 y 之前的值之前使用 x 的先前值更改 y=x+y?
感谢大家的帮助:)
【问题讨论】:
标签: python python-2.7