我对在 continue
循环中使用 while
语句感到困惑。
在这个 highly upvoted answer 中, continue
用于 while
循环内以指示执行应该继续(显然)。 definition 还提到了它在 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
实际上做了一些可测量的事情:
animals = ['dog', 'cat', 'pig', 'horse', 'cow']
while animals:
a = animals.pop()
if a == 'dog':
continue
elif a == 'horse':
break
print(a)
你会注意到,如果你运行它,你不会看到
dog
打印出来。这是因为当 python 看到 continue
时,它会跳过 while 套件的其余部分并从顶部重新开始。您也不会看到
'horse'
或 'cow'
,因为当看到 'horse'
时,我们遇到了完全退出 while
套件的中断。尽管如此,我只想说超过 90%1 的循环不需要
continue
语句。1这完全是猜测,我没有任何真实的数据来支持这个说法:)
关于python - Python while 循环中是否需要 continue 语句?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38513718/