2017-03-20 18 views
-1

私はPythonに関する質問をしようとしています。その人が正しいとすれば、次の質問に移動できます。彼らはそれが間違っている場合、クイズが次の質問に移動する前に、それを正当化しようと3回程度の試みがあります。私は以下のプログラムで解決したと思っていましたが、これは正解を得たとしてもユーザーが別の選択をするよう求めています。ユーザーが正しいと判断した場合、次の質問に移動するにはどうすればよいですか?whileループとIF文を使ってPythonでクイズを作る

score = 0 
    counter = 0 
    while counter<3: 
     answer = input("Make your choice >>>> ") 
     if answer == "c": 
      print("Correct!") 
      score += 1 
     else: 
      print("That is incorrect. Try again.") 
      counter = counter +1 

    print("The correct answer is C!") 
    print("Your current score is {0}".format(score) 
+0

あなたは+ = 1 ' –

答えて

2

あなたはループに詰まっています。だから、ループから抜け出すために

score += 1 

counter = 3 

を置きます。

score = 0 
counter = 0 
while counter<3: 
    answer = input("Make your choice >>>> ") 
    if answer == "c": 
     print("Correct!") 
     score += 1 
     counter = 3 
    else: 
     print("That is incorrect. Try again.") 
     counter = counter +1 

print("The correct answer is C!") 
print("Your current score is {0}".format(score) 
+0

おかげ '得点後の' break'する必要があります!現時点でまだロープを覚えています。 –

+0

うまくいけば、回答を受け入れたものとしてマークすることを忘れないでください。 –

1

あなたは、ループ内のstuckedだ、これを解決するためのクリーンな方法は、同様の機能ブレークを使用している:

score = 0 
counter = 0 

while counter < 3: 
    answer = input("Make your choice >>>> ") 
    if answer == "c": 
     print ("Correct!") 
     score += 1 
     break 
    else: 
     print("That is incorrect. Try Again") 
     counter += 1 

print("The correct answer is C!") 
print("Your current score is {" + str(score) + "}") 

私はあなたの元のコードについていくつかのことを強調したいと思います。

1 - Pythonは大文字と小文字を区別します。あなたが私たちに与えたコードは、 'c'を小文字で入力する限り動作します。

2最後の行を編集して正しくスコアを印刷しました。さらにここでは制御フローと機能ブレークトライPythonのドキュメントについて読ん用

https://docs.python.org/2/tutorial/controlflow.html

関連する問題