2015-09-17 147 views
0

我想爲我的妹妹做一個乘法遊戲,但是我的代碼沒有正確地通過if-else語句。我不知道爲什麼這樣。有人可以告訴我做錯了什麼嗎?If-else if statement not working properly

from random import randint 

print "Welcome to Multiplication Practice." 
print "\n-------" 

correct = 0 

wrong = 0 

while wrong<3: 

    a = randint(1,9) 
    b = randint(1,9) 
    print "What is %s x %s?" %(a,b) 
    c = a * b 
    action = raw_input("> ") 
    if action == c: 
     print "correct!" 
     correct +=1 

    elif action != c: 
     print "Wrong!" 
     wrong +=1 

    else: 
     print "Invalid answer." 

print correct 

print wrong 
+0

'raw_input'返回一個字符串,乘法返回一個數字。他們永遠不會平等。 – Barmar

+0

嘗試'action = int(raw_input(「>」))' –

+0

這很有道理。謝謝!還有什麼我忽略的? –

回答

0

raw_input總是返回一個字符串 你需要把它轉換成你比較它的類型,在這種情況下 int(raw_input("> "))

0

raw_input返回一個字符串。這永遠不會等於一個數字。您需要將輸入的字符串轉換爲數字:

action = int(raw_input("> "))