You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用for循环计算marks列表中的成绩总和 附相关代码问题排查

代码问题排查与正确实现

现有代码存在的问题

  • 变量名冲突:初始定义的s原本是用于存储总和的变量,但for循环中直接将s作为遍历计数器使用,会覆盖初始赋值的0,无法完成累加逻辑
  • 无求和逻辑:全程没有读取marks列表的成绩元素、也没有累加操作,写死的42/d和实际成绩没有任何关联
  • 打印位置错误:print语句放在for循环内部,会重复执行11次,不符合需求

正确实现(for循环求和)

遍历索引写法(和你原代码写法习惯对齐)

marks=[3, 5, 4, 2, 5, 5, 3, 5, 4, 4, 4]
d=len(marks)
s=0
for i in range(d):
    s += marks[i]
f=s/d
print("所有成绩总和:" + str(s))
print("The final grade:" + str(f))

更简洁的直接遍历元素写法

marks=[3, 5, 4, 2, 5, 5, 3, 5, 4, 4, 4]
s=0
for score in marks:
    s += score
f=s/len(marks)
print("所有成绩总和:" + str(s))
print("The final grade:" + str(f))

运行后得到成绩总和为44,平均成绩约为4.0。

内容的提问来源于stack exchange,提问作者ツMr.Monchツ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 19:45:01