python - 编码新手:迭代 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。老实说,我不确定我错过了什么。另外,如果不是太麻烦的话,我宁愿只是朝着正确的方向轻推,而不是直截了当地回答。太感谢了。
解决方案
sum_extra = grade - 100
那行代码为 sum_extra 分配一个新值,丢弃它已经拥有的任何值。
相反,您想添加到现有值:
sum_extra = sum_extra + (grade - 100)
推荐阅读
- c++ - C++异常处理内部循环不起作用
- c++ - timeGetTime 是衡量游戏循环时间的好方法吗?
- json - 我可以使用 Domino10 NotesJson 对象修改 JSON 树吗?
- sql - PDO - CREATE 和 DROP 语句可以在同一个查询中吗?
- postgresql - 是否可以将 Debezium 连接到 9.6 以上版本的 Postgres 从站?
- c - OpenSSL - BIGNUM 检查问题
- excel - VBA用户表单,如何存储先前输入的值以供下次打开
- c# - App.config 转换无法根据环境工作
- swift - 如何强制 Swift 等待前面的代码完成?
- r - R:基于观察结果的条件