小小鹏 发表于 2020-8-1 16:48:02

求助 交换值

假设有 x = 1,y = 2,z = 3,请问如何快速将三个变量的值互相交换?
答案:x, y, z = z, y, x

哪位大神帮忙解释一下为什么是这个样子的呀?

zltzlt 发表于 2020-8-1 16:48:19

x, y, z = z, y, x 相当于同时执行下面的代码:

x = z
y = y
z = x

Twilight6 发表于 2020-8-1 16:51:02

假设有 x = 1,y = 2,z = 3,请问如何快速将三个变量的值互相交换?
答案:x, y, z = z, y, x


我觉得答案应该是错误的,因为 y 没有进行交互,而题目要求三个变量相互交互

应该改成 : x,y,z = y,z,x 或 x,y,z = z,x,y 等者其他情况

陈尚涵 发表于 2020-8-1 16:56:56

我觉得答案没错,这是快速变量定义法(自己起的名字)
比如:
x = 8
y = 9
可以这么写:
x, y = 8, 9

同样,交换x和y的位置也可以通过快速变量定义法去调换:
x, y = y,x
这就很方便了!

当然,也可以三个变量一起得使用快速变量定义法去调换。
如果帮到你了,请设置最佳答案
(我起的名字有点烂)

小小鹏 发表于 2020-8-1 16:58:11

Twilight6 发表于 2020-8-1 16:51
我觉得答案应该是错误的,因为 y 没有进行交互,而题目要求三个变量相互交互

应该改成 : x,y,z = ...

好哒好哒,谢谢。我也是觉得y没有与x,z进行交换。这个是课后题上的答案,我有疑问所以发布出来问问。
页: [1]
查看完整版本: 求助 交换值