刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!
单选题
ls=[3,7,2,1]
for i in range(3,0,-1):
for j in range(i):
if ls[j]>ls[j+1]:
ls[j],ls[j+1]=ls[j+1],ls[j]
print(ls)
以上程序打印的结果是?( )
A
B
C
D
使用微信搜索喵呜刷题,轻松应对考试!
答案:
解析:
冒泡排序的基本思想是:通过相邻元素的比较和交换,使得每一轮循环后,最大的元素被“冒泡”到列表的末尾。
代码中的外层循环`for i in range(3,0,-1):`决定了排序的轮数。由于`range(3,0,-1)`生成的是`[3, 2, 1]`,所以外层循环会执行3次。
内层循环`for j in range(i):`决定了每一轮排序中需要比较的元素对数。
在每一次内层循环中,代码检查`ls[j]`和`ls[j+1]`的大小,如果`ls[j]`大于`ls[j+1]`,则交换它们的位置。
经过3轮排序后,列表`ls`会被排序为`[1, 2, 3, 7]`。
因此,打印的结果是`[1, 2, 3, 7]`,即选项B。
创作类型:
原创
本文链接: ls=[3,7,2,1] for i in range(3,0,-1): for
版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!



