6
for lp in range(100):
    if guess == number:
        break
    if guess < number:
        print "Nah m8, Higher."
    else:
        print "Nah m8, lower."

これは、基本的なコンピューティング クラス用に作成するように言われた基本的なコードです。私の目的は、コンピューターが選んだ乱数 (1-100) をユーザーが推測しなければならない単純な「ゲーム」を作成することです。これは、推測が等しいかどうかを確認し続けたいコードの小さなセクションです。数値より低いか高い; しかし、下に print ステートメントを入れると、テキストが 100 回印刷されます。この問題を解決するにはどうすればよいですか?

前もって感謝します。

4

4 に答える 4

12

推測段階を省略しているようです。ユーザーに入力を求めるプログラムはどこにありますか?

ループの最初で彼らに聞いてください!

for lp in range(100):
    guess = int(input('Guess number {0}:'.format(lp + 1)))
    ...
于 2013-06-11T17:27:09.443 に答える
1

ループを通過するたびに新しい入力を取得する必要があります。そうしないと、同じことをチェックし続けるだけです。

for lp in range(100):
    if guess == number:
        break
    if guess < number:
        # Get a new guess!
        guess = int(raw_input("Nah m8, Higher."))
    else:
        # Get a new guess!
        guess = int(raw_input("Nah m8, lower."))
于 2013-06-11T17:27:37.663 に答える
0

ループ内で推測を求める必要があります。

while True:
    guess = int(raw_input("Guess: "))
    if guess == number:
        break
    if guess < number:
        print "Nah m8, Higher."
    else:
        print "Nah m8, lower."
于 2013-06-11T17:27:34.187 に答える