【发布时间】:2016-07-21 20:24:34
【问题描述】:
我对在 while 循环中使用 continue 语句感到困惑。
在这个highly upvoted answer 中,continue 在while 循环中使用以指示执行应该继续(显然)。 definition 还提到了它在 while 循环中的使用:
continue 只能在语法上嵌套在 for 或 while 循环中
但是在this (also highly upvoted) question中关于continue的使用,所有的例子都是使用for循环给出的。
考虑到我已经运行的测试,这似乎也是完全没有必要的。这段代码:
while True:
data = raw_input("Enter string in all caps: ")
if not data.isupper():
print("Try again.")
continue
else:
break
效果和这个一样好:
while True:
data = raw_input("Enter string in all caps: ")
if not data.isupper():
print("Try again.")
else:
break
我错过了什么?
【问题讨论】:
-
您没有遗漏任何东西 - 在您的简单示例中,这完全没有必要。在更复杂的示例中(或者在组织更差的代码中),它可能很有用(例如,如果将 continue 保留在其中,则可以删除“else”子句)。
-
两个例子都有相同的行为:
continue在编程上是无用的。在您的示例中,审阅者更容易理解您的算法很有用。 IDE 也可以像pass语句一样自动取消缩进下一行。 -
continue表示:终止循环的本次迭代(即跳过循环体的其余部分)并继续 i> 与下一次迭代。 -
question you linked 的答案已经解释了
continue的意义。他们的示例使用for而不是while一点也不重要。continue对两种循环都是一样的。
标签: python