如果 if 语句在循环中未激活,是否有条件运行?



制作一个简单的程序,在循环中交换数字的位置,直到它们按升序排列。我希望当 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

相关内容

  • 没有找到相关文章

最新更新