我有两个变量,x和y,我想交换它们的值。 (例如,如果x的值为20且y的值为“princess”,那么在交换之后我希望x具有值“princess”而y具有值20.)
你能解释为什么代码x = y y = x不起作用。
我知道如何使用temp变量和x,y,但我很困惑为什么上面的方法不起作用。我没有代码,除了
x=y
y=x
我只需要有人解释为什么上面的方法不起作用。
在您的示例中,一旦将y
的值分配给x
,您就不再引用x
的原始值,因此下一个操作不起作用。
尝试:
y,x = x,y
我将用一个例子来解释:
x = 20
y = 5
x = y ---> x is now 5
y = x ---> y is now 5 too
如果你想交换它们,你需要在python中做例如:
x, y = y, x
见here
编辑:您提到要分配值“公主” - 字符串和20 - 整数。在(大多数)编程语言中,您定义变量的数据类型,并且不能将整数分配给定义为String的变量,反之亦然。
让我们说x = 5
和y=10
。
在x = y
被执行之后,x = 10
和y = 10
。
在y = x
被执行后,x
仍然= 10
和y
仍然= 10
。
所以x = y = 10
。
要交换两个变量,Python内置了这个:使用x, y = y, x
。