目前,我正在尝试在python中同时重新定义两个变量。例如,我有基本案例
p = 3
q = 2
我想重新定义p和q,以便
p = p+2q
和
q = p+q
因此,p和q的元组应该是(p,q)=(3,2)然后是(7,5)然后是(17,15),依此类推。我不确定如何同时重新定义这些变量。
当然,以下代码可行:
p = 2
q = 3
temp = [0,0]
while True:
temp[0] = p + 2q
temp[1] = p+q
p = temp[0]
q = temp[1]
print(p,q)
但我希望避免temp
列表。有没有更漂亮,更蟒蛇式的方式来做到这一点?
答案 0 :(得分:9)
>>> p = 2
>>> q = 3
>>> p, q = p + 2 * q, p + q
>>> print p
8
>>> print q
5
>>>
您还可以添加可选括号:
(p, q) = (p + 2 * q, p + q)
答案 1 :(得分:5)
请参阅以下代码
p = 2
q = 3
while True:
p, q = (p + 2*q, p + q)
print(p, q)
答案 2 :(得分:1)
p = p + 2*q
q = q + p - 2*q
此方法应该有效