【发布时间】:2014-08-14 22:51:27
【问题描述】:
我刚刚意识到这段代码并没有像我希望的那样工作......
for i in [0,2,4]:
if i%2==0:
print i
else:
print "There are no EVEN #s"
那么编码这种结构的最佳方法是什么
如果“if”语句在“for”循环的所有迭代中从未变为真,则运行“else”语句代码
【问题讨论】:
-
如果您从不使用
break(或return),else将始终运行。 -
为了避免
for循环中的else语句,您需要break循环。您需要一个以False开头的状态变量,在条件块中设置为True,然后是条件break。 -
我以前使用过这个逻辑,但出于好奇,还有其他使用 try,except, catch 的方法吗?什么的
-
@Riddler 只需在找到第一个偶数时添加
break。当然,还有其他方法可以做到这一点。此外,实际上包含您希望代码如何工作以及它如何工作会有所帮助。 -
你需要实现你的逻辑。一种方法是先计算偶数,然后在循环后检查计数。或者你可以在找到偶数时设置标志。
标签: python if-statement for-loop