2014-02-08 240 views
-1
grade = int(input("Enter Grade: ")) 

def finalgrade(grade): 

if grade >= 90 and <= 100: 
    return "A" 

elif grade >=80 and <= 89: 
    return "B" 
else: 
    return "F" 

訴說invalid syntax in = sign before 100無效語法蟒蛇

任何幫助將不勝感激

回答

1

的問題是你沒有明確的比較10089什麼。這是更好的語法:

if 90 <= grade <= 100: 
    return "A" 
elif 80 <= grade <= 89: 
    return "B" 
else: 
    return "F" 

但更接近你怎麼寫的,你就需要在兩個比較grade

if grade >= 90 and grade <= 100: 
    return "A" 
elif grade >=80 and grade <= 89: 
    return "B" 
else: 
    return "F" 

順便說一句,你可能要考慮的可能性grade=89.5和你的範圍更改爲80 <= grade < 90,使用<代替<=

+0

謝謝,這個工程,但我有另一個問題,現在代碼提示我輸入等級,當我輸入99它出來命令提示符而不是返回'A'。請告訴我我的代碼 – user2548441

+0

中有什麼問題需要實際調用'finalgrade'函數,如'print finalgrade(grade)'。一定要在你的腳本的末尾做這個*,*在函數的'def'之後,否則它將不會被定義 – mhlester

0

elif grade >=80 and <= 89:elif grade >=80 and grade <= 89:if grade >= 90 and <= 100:if grade >= 90 and grade <= 100:

0

elif grade >=80 and <= 89:是錯誤的;應該有一些與89相比的東西。我猜你的意思是elif grade >=80 and grade <= 89:。 90-100部分也是如此。

0

Python會不會隱含使用grade爲左操作數。你需要把它寫兩次,或者使用比較鏈接:

if 90 <= grade <= 100: 

(不大多數語言工作,但確實在Python)。

0

如果等級> = 90,等級< = 100:

你離開了二年級。