有人可以解释 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

如果是这种情况,无论iftrue 还是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'语句[关闭]

Javascript-JS问题:continue语句

在带有许多 if 语句的 for 循环中使用 continue 时性能是不是有所提高?

(JavaScript) 为啥 while 循环中的“if”中的 continue 语句会使浏览器崩溃?

★循环中的continue和break语句,写结果题,第5题