Python同时变量递增

3 python variables simultaneous

目前,我正试图在python中同时重新定义两个变量.例如,我有基本情况

 p = 3
 q = 2
Run Code Online (Sandbox Code Playgroud)

我想重新定义p和q这样的话

 p = p+2q
Run Code Online (Sandbox Code Playgroud)

 q = p+q
Run Code Online (Sandbox Code Playgroud)

因此,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)
Run Code Online (Sandbox Code Playgroud)

但我希望避免这份temp名单.有没有更漂亮,更蟒蛇式的方式来做到这一点?

Mak*_*zin 9

>>> p = 2
>>> q = 3
>>> p, q = p + 2 * q, p + q
>>> print p
8
>>> print q
5
>>> 
Run Code Online (Sandbox Code Playgroud)

您还可以添加可选括号:

(p, q) = (p + 2 * q, p + q)
Run Code Online (Sandbox Code Playgroud)


ars*_*jii 5

请参阅下面的代码

p = 2
q = 3

while True:
    p, q = (p + 2*q, p + q)
    print(p, q)
Run Code Online (Sandbox Code Playgroud)