2016-08-20 81 views
-1

注意:我正在使用Python 2.7有人能告訴我這個python代碼有什麼問題嗎?

我對Python不是很有經驗,但是我決定做一個簡單的小程序。下面是代碼:

import random 

while True: 
    randomNumber = random.randrange(1, 3) 
    print randomNumber 
    guessedNumber = raw_input("Choose a number between 1 and 3 ") 
    if randomNumber == guessedNumber: 
     print 'Yay! You got it right!' 
    else: 
     print 'You got it wrong :(The number was:',randomNumber 
#The first print is just for testing. 

但是當我嘗試運行它,我得到這個: IDLE after i used the program a few times

有人能告訴我什麼,我需要改變或什麼是錯的代碼?

+1

注意:「1」!= 1.在Python 2中,您可以使用input而不是raw_input(它總是返回一個字符串)。 –

+1

[我怎樣才能在Python中讀取輸入爲整數?](http://stackoverflow.com/questions/20449427/how-can-i-read-inputs-as-integers-in-python) – DeepSpace

+0

@JohnColeman 'int(raw_input())'通常被認爲是一種更好的方法,因爲它不會嘗試評估輸入,從而使您有機會驗證它。 – DeepSpace

回答

0

raw_input返回一個字符串guessedNumber,和你的程序中的字符串(guessedNumber)到一個整數(randomNumber)進行比較,所以if randomNumber == guessedNumber從不計算True

解決的辦法是將guessedNumber轉換爲int,然後比較這兩個值。

+0

謝謝!我在str()中添加了它,並且它工作正常。 – Kellan

相關問題