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,而不是学习如何用 Python 编写 C 或 Java。

在 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 回答