3

現在、Pythonで2つの変数を同時に再定義しようとしています。たとえば、私はベースケースを持っています

 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しかし、私はリストを避けたいと思っていました。これを行うためのよりきれいで、Python風の方法はありますか?

4

3 に答える 3

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)
于 2012-08-28T22:46:41.053 に答える
5

以下のコードを参照してください

p = 2
q = 3

while True:
    p, q = (p + 2*q, p + q)
    print(p, q)
于 2012-08-28T22:47:11.583 に答える
1
p = p + 2*q
q = q + p - 2*q

この方法は機能するはずです

于 2012-08-28T22:50:09.237 に答える