python中的语法无效

时间:2014-02-08 01:40:59

标签: python

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

任何帮助都将非常感谢

5 个答案:

答案 0 :(得分: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代替<将您的范围更改为<=

答案 1 :(得分:0)

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

答案 2 :(得分:0)

elif grade >=80 and <= 89:错了;应该有一些东西与89相比。我猜你的意思是elif grade >=80 and grade <= 89:。同样适用于90-100部分。

答案 3 :(得分:0)

Python不会隐式使用grade作为<=的左操作数。您需要编写两次,或使用比较链:

if 90 <= grade <= 100:

(在大多数语言中不起作用,但在Python中起作用。)

答案 4 :(得分:0)

如果等级&gt; = 90且等级&lt; = 100:

你离开了二年级。