1

渡されたパラメーター (引数) に結果を書き込むにはどうすればよいですか?

### permutation function

def xchg(a, b):
    """ xchg function that does a permution for two integers
    """
    a=a+b
    b=a-b
    a=a-b

a=int(input("Enter a number: "))
b=int(input("Enter another number: "))
xchg(a,b)
print("a= ", a)
print("b= ", b)
4

3 に答える 3

8

Python を学んでいるのであれば、Python で C や Java を書く方法を学ぶのではなく、Python の書き方を学ぶべきです。

Python では、これを行う意味はありません。ずっといい:

b, a = a, b
于 2013-01-26T18:41:01.393 に答える
2

あなたがやろうとしていることは不可能であることを知っておくべきです。

Python には値があり、名前 (変数) があります。

代入は、名前が値を参照するようにします。したがって、同じ値に複数の名前を付けることができます。

関数パラメーターは、その関数にローカルな名前です。それらに割り当てても、別の名前が魔法のように別の値を参照するようにすることはできません。ローカル名を別の値に「バインド」するだけです。

さて、可変値と不変値があります。異なる名前が同じ値を参照できることに注意してください。名前を別の値にバインドするのではなく、値を変更すると、その値にバインドされている他のすべての名前にも変更が反映されます。

于 2013-01-26T18:46:59.927 に答える
0

試す:

def xchg(a, b):
    return b, a

そして後で:

a, b = xchg(a, b)
于 2013-01-26T18:49:37.497 に答える