菲菲727 发表于 2020-2-10 11:22:22

[课后作业的疑惑] 第007、008讲:了不起的分支和循环1、2 | 课后测试题

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

答案:x, y, z = z, y, x

我的疑问:123换成了321,y还是不变呀,这不叫互相交换吧?
我自己的思路是引入新变量a.
a=x
y=x
y=z
z=a
完成交换

求高手指点,谢谢~{:5_92:}

冬雪雪冬 发表于 2020-2-10 11:27:44

>>> x,y,z=1,2,3
>>> x
1
>>> y
2
>>> z
3
>>> x,y,z=y,z,x
>>> x
2
>>> y
3
>>> z
1

Judie 发表于 2020-2-10 11:31:16

2楼说的对

慕良 发表于 2020-2-10 12:03:48

我同意你的观点:x,y,z = z,y,x 不算相互交换。
可以改成:x,y,z = y,z,x
引入新变量a也是一种方法,就是相比第一种方法可能会显得繁琐些。
页: [1]
查看完整版本: [课后作业的疑惑] 第007、008讲:了不起的分支和循环1、2 | 课后测试题