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)
我正在尝试解决此代码中的错误。
该程序应该处理用户指定的 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)