2015-11-02 28 views
0

我想知道是否有人可以幫助我。這是一位簡單的橄欖球冠軍 播音員。代碼似乎有時運行良好,而不是其他時間。宣佈贏家代碼

team1 = input ("Team 1: ") 
score1 = input("Score: ") 
team2 = input("Team 2: ") 
score2 = input("Score: ") 

if score1 >= score2: 
    print (team1 + " beat " + team2 + " " + score1 + "-" + score2) 
else: 
    print(team2 + " beat " + team1 + " " + score2 + "-" + score1) 

這是工作的例子:

Team 1: england 
Score: 35 
Team 2: fiji 
Score: 11 
england beat fiji 35-11 

然而,當我進入這個它不工作:

Team 1: Wales 
Score: 54 
Team 2: Urguary 
Score: 9 
Urguary beat Wales 9-54 

任何人都可以看到什麼是錯的?任何幫助讚賞。

回答

1

您的比較不符合您的預期,因爲它比較的是字符串,而不是數字。字符串按字典順序進行比較,因此9高於54,與Z以字母順序排在AA之後的方式相同。

爲了讓你的代碼工作,轉換您從用戶到整數得到與int分數:

team1 = input ("Team 1: ") 
score1 = int(input("Score: ")) 
team2 = input("Team 2: ") 
score2 = int(input("Score: ")) 
+0

通過7秒打我。 – 2015-11-02 04:45:59

+0

謝謝。工作很好 – Beth

0
team1 = input ("Team 1: ") 
score1 = input("Score: ") 
team2 = input("Team 2: ") 
score2 = input("Score: ") 

if int(score1) >= int(score2): 
    print (team1 + " beat " + team2 + " " + score1 + "-" + score2) 
else: 
    print(team2 + " beat " + team1 + " " + score2 + "-" + score1) 
0

我就勸 比較值的,使用整數或輸入值時,浮動或在比較之前將其設置爲整數或浮點數。

可以立即做

score1 = int(input("Score: ")

或之後立即

score1 = input("Score: ")
score1 = int(score1)

或者只是作爲比較

if int(score1) >= int(score2):