代码的SyntaxError:“ def function”等级字母上的无效语法

时间:2019-05-25 19:42:15

标签: python spyder

计算并返回抄本中出现的字母等级

我过去曾经尝试过我的代码,似乎没有问题,但是现在,我得到了无效的语法,并且不确定原因。

#python

def letter_grade(pct):

    if pct <= 49:
        return 'F'
    elif pct <= 52:
        return 'D-'
    elif pct <= 56:
        return 'D'
    elif pct <= 59:
        return 'D+'
    elif pct <= 62:
        return 'C-'
    elif pct <= 66:
        return 'C'
    elif pct <= 69:
        return 'C+'
    elif pct <= 72:
        return 'B-'
    elif pct <= 76:
        return 'B'
    elif pct <= 79:
        return 'B+'
    elif pct <= 84:
        return 'A-'
    elif pct <= 89:
        return 'A'
    else: 
        return 'A+'

# input letter_grade(45)

expeted => # input letter_grade(45) --> F

actual result => # def letter_grade(45)

  File "<ipython-input-11-06219c433935>", line 1

    def letter_grade(45)
                      ^
SyntaxError: invalid syntax

2 个答案:

答案 0 :(得分:2)

由于格式已关闭,因此阅读起来有些困难,但是我认为您正在尝试使用def前面的调用函数。 def仅位于函数定义的前面,而不是在您调用它时。

答案 1 :(得分:0)

问题在于返回类型。您需要将值存储在变量中才能获得结果。 尝试通过使用

调用该函数

value = letter_grade(45) print(value)