【发布时间】:2021-01-03 16:19:23
【问题描述】:
我正在编写代码来对列表中的元素进行排序,我实现了它但无法停止 while 循环。
当列表中的所有元素都排序后,我想停止 while 循环。
代码:
a = [27,21,22,1,11,23,0]
n=len(a)
while True:
for i in range(n-1):
if a[i]>a[i+1]:
temp = a[i]
a[i] = a[i+1]
a[i+1] = temp
print(a)
输出:
[21, 22, 1, 11, 23, 0, 27] [21, 1, 11, 22, 0, 23, 27] [1, 11, 21, 0, 22, 23, 27] [1, 11, 0, 21, 22, 23, 27] [1, 0, 11, 21, 22, 23, 27] [0, 1, 11, 21, 22, 23, 27] [0, 1, 11, 21, 22, 23, 27] [0, 1, 11, 21, 22, 23, 27] [0, 1, 11, 21, 22, 23, 27]........
我知道排序列表上有 10 个问答,但我只想以这种方式实现(如果可能的话)。
谁能帮我停止这个while循环?
【问题讨论】:
-
当
a[i] > a[i+1]对任何i都不成立时,您就停下来了。 -
这能回答你的问题吗? How does break work in a for loop?
标签: python list sorting data-structures