2016-10-16 15 views
0

continueキーワードを検索しましたが、まだifステートメントでどのような役割が果たしているのかはまだ分かりません。私はこれがと続けるとを続行し、elifの文をifのように扱いますが、elifの文の代わりにifの文を使用するのはどうしてわかりませんか?continueです。誰かがif文でcontinueキーを説明できますか?

このような場合は、iftrueまたはfalseであるにもかかわらず、すべての条件文をチェックする必要があります。 elifの代わりにif文を使用するだけではどうですか?

私が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)) 
+0

continueステートメントは、外部ループを参照し、ifステートメントではありません。 –

+0

'continue'は' while'ループの次の反復反復にあなたを直接送ります(そうでない場合は何も実行されません) – Julien

答えて

1

ifとelifの文が継続しないことを理解してください。続けると、ループ文が壊れます。

ループ内に存在するifブロック内でcontinueを使用すると、ループの現在の繰り返しがスキップされます。したがって、continueに遭遇すると、制御はcontinueの後の文をスキップするループの先頭に移動します。このプログラムでは、ユーザーが「複数の文字」、「すでに推測されている文字」または「非アルファベット」を入力すると、継続が始まり、プログラムはその繰り返しをスキップして別の文字を受け入れるだけです。

while cond1: 
    if cond2: 
     continue 
    #code 

ここでcond2が満たされていれば、続行され、#codeは実行されません。 cond1:に戻り、ループを続行します。

3

"continue"はループに適用されます。

これは単に現在の反復を停止し、次の反復にジャンプするだけです。だから、基本的には、あなたが入力したものを入力するまで、プログラムがあなたに期待しているものを入力してください。

関連する問題