2017-09-26 33 views
-3

我正在寫一個簡單的程序,比較兩個變量在Python中比較兩個變量不起作用?

from random import randint 
result = (randint(1, 6)) 

guess = input('Guess the number: ') 
if guess == result: 
    print('You got it right') 
else: 
    print('Wrong') 
    print(result) 

程序設置變量result作爲一個隨機數,然後將用戶輸入一個數字,他們猜測。但是,即使他們獲得了正確的號碼,也會說他們錯了。

我怎樣才能得到它,以便當他們得到正確的號碼時,它說他們是正確的?

提前致謝!

+1

變化'猜測= INT(輸入(猜數:「)' –

+0

我看到這也有關於變量比較和一個猜測數遊戲問題的一些類似的問題。嗡嗡聲......這麼奇怪,爲什麼有這麼多人想猜數字遊戲? – Sraw

+3

可能重複[我怎樣才能讀取輸入爲整數?](https://stackoverflow.com/questions/20449427/how-can -i-read-inputs-as-integers) –

回答

3

可以將INTEGER類型設置爲STRING,反之亦然,以便進行比較。兩種不同類型(INT和STR)不能比較。

例如代碼01 [兩個比較變量都是字符串]

from random import randint 
result = (randint(1, 6)) 

guess = input('Guess the number: ') 
if guess == str(result): 
    print('You got it right') 
else: 
    print('Wrong') 
    print(result) 

例如,代碼02 [二者相比變量是整數]

from random import randint 
result = (randint(1, 6)) 

guess = input('Guess the number: ') 
if int(guess) == result: 
    print('You got it right') 
else: 
    print('Wrong') 
    print(result) 
+0

真棒,非常感謝你!不記得你能做到這一點,這工作完美。非常感謝你! –

+1

很高興聽到這個。你可以進一步添加錯誤處理,因爲現在如果用戶輸入一個字符而不是DIGIT,程序將會崩潰。 –

3

這裏您將intstring進行比較,歸因於返回類型input()string。這總是會給False

更改您的輸入guess到:

guess = int(input()) 

所以,

IN : result = 5 
IN : guess = 5 
OUT : 'You got it right' 
0

變化guess = input('Guess the number: ')guess=int(input(Guess the number : ')

因爲input()字符串作爲用戶輸入。