Python:将字母等级转换为其对应的整数值

Python: Convert a Letter Grade to its corresponding integer value

我正在尝试解决此代码中的错误。

该程序应该处理用户指定的 class 中尽可能多的学生。每个学生收到一个字母等级:A、B、C、D、F。最后它会计算并显示 class 平均值。

到目前为止我的代码:

students = int(input('How many students: '))
total_sum = 0
for n in range(students):
    Letter = input('Enter grades: ')
    Letter_int = Letter
if Letter == "A":
    Letter_int == int(80)
elif Letter == "B":
    Letter_int == int(70)
elif Letter == "C":
    Letter_int == int(60)
elif Letter == "D":
    Letter_int == int(50)
elif Letter == "F":
    Letter_int == int(40)
    total_sum += Letter_int
avg = total_sum/students
print('Average of this/these', students, 'student(s) is:', avg)

代码未添加字母等级的整数值,总和始终 returns 为 0 或 TypeError: += 不支持的操作数类型:'int' 和 'str'。我是 python 新手,我需要一些帮助。

这是你的代码改进和工作。使用它,但请阅读我提供的评论并分析我更改了哪些部分。另外,最好像其他人提到的那样修改 Python 文档。特别是缩进,它在 Python.

中的含义
students = int(input('How many students: '))
total_sum = 0
for n in range(students):
    Letter = input('Enter grades: ')
    Letter_int = 0 # here you better initialize with integer not string
    if Letter == "A": # this condition needs to be indented - you want it to be executed
                      # in every iteration of for loop
        Letter_int = 80 # the assignment in Python is done by "=" not "==" (that would be comparison) 
    elif Letter == "B": 
        Letter_int = 70 # you do not need to do int(70), 70 is already an integer
    elif Letter == "C":
        Letter_int = 60
    elif Letter == "D":
        Letter_int = 50
    elif Letter == "F":
        Letter_int = 40
    total_sum += Letter_int # this cannot happen inside elif clause - this way it would only be
                            # executed when F grade is provided
    avg = total_sum/students
    print('Average of this/these', students, 'student(s) is:', avg)