制作一个简单的程序,在循环中交换数字的位置,直到它们按升序排列。我希望当 if 条件从未在 for 循环的实例中被激活时程序结束。有没有更短的方法可以在不使用 while 真/假或类似的情况下做到这一点?
while tf == True:
for i in range(lisLen-1):
tf=False
if listy[i]>listy[i+1]:
tf=True
swap(listy, i, i+1)
去掉变量,改用break
。然后,您可以使用else:
子句对此进行测试。如果循环正常结束而不是以break
结束,则该子句将运行。
while True:
for i in range(lisLen-1):
if listy[i]>listy[i+1]:
swap(listy, i, i+1)
break
else:
break