2

私はpythonの初心者です。私のプログラムは数値を設定することであり (私は今のところ random.randint を使用していません)、それを推測しようとします。コードは次のとおりです。

def game():
    print "I am thinking of a number between 1 and 10!"
    global  x
    x = 7
    y = raw_input("Guess!")
    while x > y:
        y = raw_input("Too low. Guess again!")
    while x < y:
        y = raw_input("Too high. Guess again!")
    if x == y:
        return "You got it! The number was" + x + " !"

しかし、これを実行すると、入力した数値に関係なく、プログラムは x < y と表示します。誰か助けてください。ありがとうございました。

4

3 に答える 3

9

yと比較する前に、整数に変換する必要がありますx

y = int(raw_input("Guess!"))

そうしないと、異なる型の変数を比較することになり、結果が常に直感的であるとは限りません (x常に より小さいなどy)。ユーザーに入力を求める他の時間にも同じアプローチを適用できますy

于 2013-11-01T18:15:02.293 に答える
4

あなたはこれが欲しいかもしれません:

def game():
    print "I am thinking of a number between 1 and 10!"
    global  x
    x = 7
    while True:
        y = int(raw_input("Guess! ")) # Casting the string input to int
        if x > y:
            y = raw_input("Too low. Guess again!")
        elif x < y:
            y = raw_input("Too high. Guess again!")
        elif x == y:
            print "You got it! The number was " + str(x) + " !"
            break # To exit while loop

game()
于 2013-11-01T18:17:19.817 に答える
1

Y は x のような整数でなければなりません。これを行う簡単な方法は次のとおりです。

y=int(raw_input("etc."))

Python で 2 つの異なる変数タイプを比較することはできません。お役に立てれば!

于 2013-11-01T18:44:29.560 に答える