2017-08-15 10 views
0

私はユーザーがプログラムによって作成された乱数を推測させようとしています。彼が数字を間違えた場合、プログラムは、推測が乱数よりも高いか低いかを教えてくれます。それから彼は再び入力するように求めます。プログラムは、乱数が正しく推測されるまでループします。特定の値に達するまで答えを入力してください

from random import randint 
random = (randint(0, 20)) 
guess = int(input("Guess a number: "), 0) 

if guess > random: 
    print ("Guess lower") 
elif guess < random: 
    print ("Guess higher") 
else: 
    print("You guessed right!") 
+1

問題または質問は何ですか? – csmckelvey

+0

私はそれがループしていないプログラムだと思っています。これは、forループまたはwhileループを追加していないためです。 – jmoon

答えて

0

私は約For loopsWhile loops、およびRecursive Function callsを学ぶことをお勧め。彼らはすべてあなたのために仕事を得ることができます。

ここでは、whileループとの単純な例(何かが真である一方で、タスクを実行する)です:guessrandomに等しくなるまで、whileループは、入力を求め続ける

from random import randint 
random = (randint(0, 20)) 

guess = None 
while guess != random: 
    guess = int(input("Guess a number: "), 0) 

    if guess > random: 
     print ("Guess lower") 
    elif guess < random: 
     print ("Guess higher") 
    else: 
     print("You guessed right!") 

。いったん正しく推測したら、guess != randomはもはや真でなくなり、ループは実行を停止します。

注:Noneは整数値に等しくなることはありませんので、私は、そもそもNoneとして変数guessを初期化しています。 guessFalseに初期化しないでください。ランダムな整数が0の場合、PythonはFalse == 0Trueと評価し、ループは実行されないためです。

関連する問題