1

私はhttp://learnpythonthehardway.orgに従ってプログラミングを学び始めたばかりです。ループとif文について学んだ後、私は簡単な推測ゲームを作ってみたかったのです。

問題は:

間違った推測をすると、スタックし、crtlCに到達するまで「TOOHIGH」または「TOOLOW」のいずれかを繰り返し続けます。

私はwhileループについて読み、他の人々のコードを読みましたが、単にコードをコピーしたくありません。

print ''' This is the guessing game! 
A random number will be selected from 1 to 10.
It is your objective to guess the number!'''

import random

random_number = random.randrange(1, 10)
guess = input("What could it be? > ")
correct = False

while not correct:
    if guess == random_number:
        print "CONGRATS YOU GOT IT"
        correct = True
    elif guess > random_number:
        print "TOO HIGH"
    elif guess < random_number:
        print "TOO LOW"
    else:
        print "Try something else"
4

2 に答える 2

8

ユーザーにもう一度尋ねる必要があります。

whileこの行を最後に追加します (ブロック内に収まるように 4 つのスペースでインデントします)。

    guess = input("What could it be? > ")

これは簡単なハックです。それ以外の場合は、@furins によって提案された改善に従います。

于 2012-12-17T15:34:20.130 に答える
3

whileループ内でリクエストを移動すると、トリックが実行されます:)

print ''' This is the guessing game! 
A random number will be selected from 1 to 10.
It is your objective to guess the number!'''

import random

random_number = random.randrange(1, 10)
correct = False

while not correct:
    guess = input("What could it be? > ")  # ask as long as answer is not correct
    if guess == random_number:
        print "CONGRATS YOU GOT IT"
        correct = True
    elif guess > random_number:
        print "TO HIGH"
    elif guess < random_number:
        print "TO LOW"
    else:
        print "Try something else"
于 2012-12-17T15:41:06.740 に答える