如何用循环求和模式计算字典列表中所有游戏的总分(禁用sum函数)
用循环求和模式计算游戏总分的正确实现
先说说你之前遇到的问题
- 你写的
for i in games["Score"]:报错,是因为games是列表类型,不是单个字典——列表没法直接通过"Score"这种键名取值,得先遍历列表里的每一个字典元素才行。 - 另外那个用
sum()的写法虽然能得到结果,但不符合作业禁止使用sum函数的要求,所以得换成纯循环的实现方式。
正确的循环求和代码
games = [ {"Name": "UD", "Score": 27, "Away?": False}, {"Name": "Clemson", "Score": 14, "Away?": True}, {"Name": "Pitt", "Score": 32, "Away?": True}, ] # 初始化一个存储总分的变量,起始值为0 total_score = 0 # 遍历列表中的每一个游戏字典 for game in games: # 将当前游戏的分数累加到总分变量中 total_score += game["Score"] # 打印最终计算出的总分 print(total_score)
代码逻辑说明
- 先定义
total_score作为累加容器,初始值设为0——这是循环求和模式的核心:用一个变量持续存储每次累加后的结果。 - 用
for game in games逐个取出列表里的游戏字典,每次循环都会拿到一组完整的游戏数据。 - 每次循环中,通过
game["Score"]取出当前游戏的分数,用+=运算符把分数加到total_score上,更新总分值。 - 等所有循环执行完毕,
total_score就会是所有游戏的分数总和,直接打印即可。
内容的提问来源于stack exchange,提问作者baylee
相关产品推荐
相关产品推荐

