首页 > 解决方案 > 编码新手:迭代 Python 中的列表

问题描述

所以我对编码完全陌生,我现在正在上一堂课,我被困住了。本质上问题是这样的:

分配sum_extra给定列表中收到的总额外信用test_grades。满分是 100,所以任何超过 100 的都是额外的。

给定程序的示例输出,输入:'101 83 107 90'

我目前的代码是这样的:

user_input = input()
test_grades = list(map(int, user_input.split())) # test_grades is an integer list of test scores


sum_extra = 0 

for grade in test_grades: 
    if grade > 100:
        sum_extra = grade - 100
        
print('Sum extra:', sum_extra)

我遇到的问题是它没有添加超过 100 的额外总数。就像上面的示例输入一样,它运行并且总计 7 而不是 8。老实说,我不确定我错过了什么。另外,如果不是太麻烦的话,我宁愿只是朝着正确的方向轻推,而不是直截了当地回答。太感谢了。

标签: python

解决方案


sum_extra = grade - 100

那行代码为 sum_extra 分配一个值,丢弃它已经拥有的任何值。

相反,您想添加到现有值:

sum_extra = sum_extra + (grade - 100)

推荐阅读