a,b交换不用临时变量

过去的我 2009-08-01 02:42:32
cookbook 上的实践了一下好像没有用
a,b,c = b,c,a

我用的是3.1版本

另外,c难道不算临时变量吗。。疑惑ing
...全文
156 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
过去的我 2009-08-01
  • 打赏
  • 举报
回复
原来是这个意思。。
DarkChampion 2009-08-01
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 aca_jingru 的回复:]
额..那是哪两个变量交换了? 感觉没交换啊.
[/Quote]
a1=b0
b1=c0
c1=a0
fibbery 2009-08-01
  • 打赏
  • 举报
回复
说白了就是两个列表间的赋值,如果更清楚一点,这样:a,b=b,a
fibbery 2009-08-01
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 aca_jingru 的回复:]
额..那是哪两个变量交换了? 感觉没交换啊.
[/Quote]
a,b,c,=b,c,a

a与b交换,b与c交换,c与a交换
过去的我 2009-08-01
  • 打赏
  • 举报
回复
额..那是哪两个变量交换了? 感觉没交换啊.
songrongu111 2009-08-01
  • 打赏
  • 举报
回复
貌似结果对
DarkChampion 2009-08-01
  • 打赏
  • 举报
回复
应该是这个结果
lovetysx 2009-08-01
  • 打赏
  • 举报
回复
就是这个结果,哪里不对了?
楼主想要什么结果?
fibbery 2009-08-01
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 aca_jingru 的回复:]
运行了结果好像不对

>>> a=1
>>> b=2
>>> c=3
>>> a,b,c,=b,c,a
>>> a
2
>>> b
3
>>> c
1
>>>
[/Quote]

这不是正对吗?否则,怎样才算对?
过去的我 2009-08-01
  • 打赏
  • 举报
回复
运行了结果好像不对

>>> a=1
>>> b=2
>>> c=3
>>> a,b,c,=b,c,a
>>> a
2
>>> b
3
>>> c
1
>>>
lovetysx 2009-08-01
  • 打赏
  • 举报
回复
我用2.5和2.6都可以运行呀
fibbery 2009-08-01
  • 打赏
  • 举报
回复
a=a+b;
b=a-b;
a=a-b;
过去的我 2009-08-01
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 lovetysx 的回复:]
a,b=b,a
相当于(a,b)=(b,a)
明白了吧?
[/Quote]

明白。 可运行却报错
lovetysx 2009-08-01
  • 打赏
  • 举报
回复
a,b=b,a
相当于(a,b)=(b,a)
明白了吧?
过去的我 2009-08-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 darkchampion 的回复:]
可以通过三次异或实现交换而不使用临时变量
[/Quote]

不是我所要的,
DarkChampion 2009-08-01
  • 打赏
  • 举报
回复
参见我的博客
http://blog.csdn.net/DarkChampion/archive/2009/08/01/4399822.aspx
DarkChampion 2009-08-01
  • 打赏
  • 举报
回复
可以通过三次异或实现交换而不使用临时变量

37,720

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧