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

如何简化通过for循环求字典内输入值平均值的Python代码行数

Python字典存储分数的平均值计算精简实现

优化点说明

  • 使用Python内置sum()函数替代手动循环累加逻辑,省去自定义求和变量和遍历循环代码
  • 合并平均值计算与格式化打印逻辑,减少不必要的中间变量声明
  • 修复原代码潜在问题:原代码使用len(scores)获取分母长度,scores是录入环节最后一个学生的分数列表,若查询学生的科目数量和最后录入的学生不一致会导致计算错误,优化后直接取查询学生对应分数列表的长度,逻辑更严谨。

精简后完整代码

(默认适配编程题输入合法场景,即查询名一定存在,比原版本减少5行冗余代码)

if __name__ == '__main__':
    n = int(input())
    student_marks = {}
    for _ in range(n):
        name, *line = input().split()
        student_marks[name] = list(map(float, line))
    q = input()
    print(f"{sum(student_marks[q])/len(student_marks[q]):.2f}")

如果需要兼容查询名不存在的场景,仅需调整最后一行即可:

if __name__ == '__main__':
    n = int(input())
    student_marks = {}
    for _ in range(n):
        name, *line = input().split()
        student_marks[name] = list(map(float, line))
    q = input()
    print(f"{sum(student_marks[q])/len(student_marks[q]):.2f}" if q in student_marks else "未查询到对应学生")

内容的提问来源于stack exchange,提问作者Mohd Rafi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 22:36:04