我刚刚意识到这段代码并没有像我希望的那样工作......
for i in [0,2,4]:
if i%2==0:
print i
else:
print "There are no EVEN #s"
那么编写这种结构的最佳方式是什么
如果“if”语句在“for”循环的所有迭代中永远不会变为真,则运行“else”语句代码
代码没有按您希望的那样运行,因为 if
和 else
不在同一级别的范围内。但是,您可能正在尝试使用 Python 中的 for...else
语法。有关这方面的信息,请参阅 here .要使用 for...else
语法,您需要在 for
循环中有一个 break
语句。如果它中断,则不调用 else
,否则在循环完成后调用 else
。
但是,如果您没有 break
语句,那么 else
总是会运行。
这是您的代码,已更正:
for i in [0,2,4]:
if i%2==0:
print i
break
else:
print "There are no EVEN #s"
一旦循环遇到偶数,循环就会中断。否则,如果循环完全执行(即遍历整个列表),那么它也会运行 else
。仅供引用,这是奇数列表上的循环:
for i in [1,3,5]:
if i%2==0:
print i
break
else:
print "There are no EVEN #s"
我是一名优秀的程序员,十分优秀!