2014-02-08 180 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:

你离开了二年级。