有人可以解释 if 语句中的 continue 键吗? [复制]
Posted
技术标签:
【中文标题】有人可以解释 if 语句中的 continue 键吗? [复制]【英文标题】:Could someone explain the continue key in the if statements? [duplicate] 【发布时间】:2016-10-16 10:52:18 【问题描述】:我查找了continue
关键字,但我仍然不太了解它在if
语句中的作用。我假设这表示 continue 并将elif
视为if
语句,但我不确定为什么不使用if
语句而不是elif
语句continue
。
如果是这种情况,无论if
是true
还是false
,都需要检查所有这些条件语句。为什么不直接使用if
语句而不是elif
?
如果我对continue
的理解正确,那么最后一个的原因是什么,因为紧随其后的是一个新的if
语句?它不会自然地继续那个if
声明吗?
while True:
start= input('Press q to quite, enter any other key to start')
if start.lower()=='q':
break
#pick a random words
word=random.choice(words)
wrong_guesses=[]
right_guesses=[]
while len(wrong_guess) < 7 and len(right_guesses) != len(word)
#draw spaces
for letter in word:
if letter in right_guesses:
print(letter, end='')
else:
print('_', end='')
print('')
print('strikes: /7'.format(len(bad_guesses))
print('')
#take guess
guess= input('guess a letter: ').lower()
if len(guess) != 1:
print('You can only guess a sinlge letter!')
#what is this>>> continue
elif guess in wrong_guesses or guess in right_guesses:
print('you\'ve already guessed that letter!')
continue
elif not guess.isalpha():
print('you can only guess letters!')
#what is this>>> continue
if guess in word:
right_guesses.append(guess)
if len(right_guesses)==len(list(word)):
print('You win! The word was '.format(list(word))
break
else:
wrong_guesses.append(guess)
else:
print('you didnt guess it! My secret word was '.format(word))
【问题讨论】:
continue 语句是指外循环,而不是在 if 语句中。continue
将直接将您发送到while
循环的下一次迭代迭代(不运行其他情况下会运行的任何内容)
【参考方案1】:
“继续”适用于循环。
它将简单地停止当前迭代并跳转到下一个迭代。所以基本上继续输入你正在输入的内容,直到你输入程序对你的期望。
【讨论】:
【参考方案2】:了解 continue 不会脱离 if 和 elif 语句。 Continue 只会跳出循环语句。
如果在循环内的 if 块中使用 continue,它会跳过循环的当前迭代。因此,当遇到 continue 时,控制将移至循环的开头,跳过 continue 之后的任何语句。在这个程序中,如果用户输入“多个字母”、“已经猜到的字母”或“非字母”,则继续发挥作用,程序只是跳过该迭代并继续接受另一个字母。
while cond1:
if cond2:
continue
#code
所以这里,如果满足cond2,遇到continue,不执行#code。它只是再次进入 while cond1: 并继续循环
【讨论】:
以上是关于有人可以解释 if 语句中的 continue 键吗? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
谁能向我解释以下代码中的 java continue 语句执行?
循环问题,因为matlab中'if'语句中的'continue'语句[关闭]
在带有许多 if 语句的 for 循环中使用 continue 时性能是不是有所提高?