我应该设计这个程序,为学生获得多个测试分数,并将分数存储在列表中,从列表中删除最低分,然后计算平均分数。 当我运行代码时,我收到错误
TypeError:+:'int'和'str'
的不支持的操作数类型
def get_scores(grade):
test_num = int(input('How many test scores do you want to enter: '))
for t in range(test_num):
print('Enter score for Test #', t+1, sep='')
grade.append(input('Enter Score: '))
return grade
def calculate_average(grade):
grade.remove(min(grade))
grade = (sum(grade))/len(grade)
return grade
def show_results(grade):
print('Average:', grade)
def main():
scores = []
get_scores(scores)
calculate_average(scores)
show_results(scores)
main()
答案 0 :(得分:1)
input()
返回一个字符串,而不是整数。这意味着scores
中包含一串字符串,而不是整数,您可以sum()
列出字符串。
将grade.append(input('Enter Score: '))
更改为grade.append(int(input('Enter Score: ')))
编辑:要修复评论中提到的错误,您需要更改主要功能:
def main():
scores = []
get_scores(scores)
final_score = calculate_average(scores)
show_results(final_score)