新手问个问题

Tony_Xian 2017-05-29 10:07:22
#!/usr/bin/python
# -*- coding: UTF-8 -*-

array=[];
print"please input n"
n=input("Enter your input: ");
print"input your numbers:"
for i in range(0, n):
num = raw_input();
array.append(num)
for i in range(len(array)):
for j in range(i):
if array[j] > array[i]:
array[j],array[i] = array[i],array[j]
print array

这个冒泡法程序中 array[j],array[i] = array[i],array[j]是什么意思,那个逗号作用是什么,为什么我分开三行来写,输出结果不正确,另外再问个问题,python语句后面加;和不加;的区别是什么?我剩余的分不多,望各位兄弟解答下
...全文
136 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
shiter 2017-05-31
  • 打赏
  • 举报
回复
逗号就是交换,一般不建议这样写
Tony_Xian 2017-05-31
  • 打赏
  • 举报
回复
引用 1 楼 zhangyiant 的回复:
array[j],array[i] 的赋值,应该是交换i,j两个位置的值。 逗号有什么用,我也不太熟,写了1年Python,我自己没用过这个语法。 至于你换成3行写结果不对,我怀疑是你写错了。可以贴出来看看。 最后的分号应该是不需要的,两条语句写在一行里面,中间加分号隔开。
大兄弟,能加QQ讨论下python吗,我QQ 2027807597
ForestDB 2017-05-30
  • 打赏
  • 举报
回复
引用 楼主 boiled_water123 的回复:
#!/usr/bin/python # -*- coding: UTF-8 -*- array=[]; print"please input n" n=input("Enter your input: "); print"input your numbers:" for i in range(0, n): num = raw_input(); array.append(num) for i in range(len(array)): for j in range(i): if array[j] > array[i]: array[j],array[i] = array[i],array[j] print array 这个冒泡法程序中 array[j],array[i] = array[i],array[j]是什么意思,那个逗号作用是什么,为什么我分开三行来写,输出结果不正确,另外再问个问题,python语句后面加;和不加;的区别是什么?我剩余的分不多,望各位兄弟解答下
a, b,逗号可以使a, b变成元组(tuple),然后序列类型是可以并行赋值的(元组就是一种序列类型);a, b = b, a实际上就交换了a和b的内容(swap)。 分三行写,应该是这样: tmp = a a = b b = tmp 需要引入一个临时变量。 ;可以使两条语句写在一行,但是容易出错;Python中基本不用;了。
zhangyiant 2017-05-30
  • 打赏
  • 举报
回复
array[j],array[i] 的赋值,应该是交换i,j两个位置的值。 逗号有什么用,我也不太熟,写了1年Python,我自己没用过这个语法。 至于你换成3行写结果不对,我怀疑是你写错了。可以贴出来看看。 最后的分号应该是不需要的,两条语句写在一行里面,中间加分号隔开。

37,720

社区成员

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

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