2016-02-22 74 views
1

當我輸入數字1 +數字2的總和作爲「答案」和數字1時,數字2是兩個1-500之間的隨機數字,我得到我的「錯誤,抱歉!聲明,而不是「正確的!」當答案是正確的。總和兩個數字

例如,如果兩個數字是479 + 121,答案應該是600,對吧?好吧,顯然不是,我的代碼喜歡說。由於一些錯誤邏輯,我會猜測。 (注意,這僅僅是一個摘錄,很明顯的變量聲明爲主要模塊之前在整數和隨機導入。)

def getNumbers(): 
    number1 = random.randint(1, 500) 
    number2 = random.randint(1, 500) 
    return number1, number2 

    def getAnswer(number1, number2, answer): 
    print("What is the answer to the following equation:") 
    print(number1) 
    print("+") 
    print(number2) 
    answer = input("What is the sum? ") 
    return answer 

def checkAnswer(number1, number2, answer, right): 
    if answer == number1 + number2: 
     print("Right!") 
    else: 
     print("Wrong, sorry!") 

它出來爲:

這是什麼答案以下方程?

+

額是多少? 600

錯,對不起!

0也是不正確的,所以我不知道什麼值設置。任何想法如何解決這個代碼?

+0

提示:'answer'設置爲'「600」',與'600'不同。 – Kevin

+0

確保您沒有將整數與字符串進行比較。 '600'!= 600' –

+1

「479」+「121」是「479121」! – cdarke

回答

3

input函數返回的字符串,你應該把它轉換爲int

answer = int(input("What is the sum? ")) 

因爲你沒有投它爲int "600" == 600總是False和錯印。

+0

應該知道它是一個字符串而不是整數。謝謝! – LukeP412

+0

如果此答案已解決您的問題,請點擊複選標記,考慮[接受它](http://meta.stackexchange.com/q/5234/179419)。這向更廣泛的社區表明,您已經找到了解決方案,併爲答覆者和您自己提供了一些聲譽。沒有義務做到這一點 – Arman

+1

我的歉意,我想有一個10分鐘的等待標誌着他們在你是全新的時候回答 – LukeP412