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

如何使用数组实现录入任意数量学生并计算其平均分?

用Python列表实现多学生成绩录入与平均分计算

你可以通过Python的列表(对应你说的数组)来存储任意数量学生的信息,同时灵活处理每个学生的分数录入。下面是改进后的代码,支持自定义学生数量,且每个学生的分数数量也可以任意设置:

# 获取要录入的学生总数
student_count = int(input("请输入学生数量: "))

# 创建列表存储所有学生的信息
students = []

for _ in range(student_count):
    name = input("\n请输入学生姓名: ")
    # 录入分数,支持任意数量(用空格分隔多个分数)
    scores_str = input("请输入该学生的分数(空格分隔): ")
    # 将输入的字符串转换为整数列表
    scores = list(map(int, scores_str.split()))
    
    # 计算平均分,避免无分数时除以0的错误
    avg_score = sum(scores) / len(scores) if scores else 0.0
    
    # 将当前学生的姓名、分数、平均分存入字典,再添加到总列表中
    students.append({
        "name": name,
        "scores": scores,
        "average": avg_score
    })

# 输出所有学生的平均分结果
print("\n=== 学生平均分统计 ===")
for student in students:
    # 格式化输出,保留两位小数更直观
    print(f"你好,{student['name']}。你的平均分是: {student['average']:.2f}")

关键改进点说明:

  • 多学生存储:用students列表统一管理所有学生数据,每个列表元素是一个字典,清晰记录学生的姓名、分数列表和平均分。
  • 任意分数数量:不再固定3个分数,通过split()分割输入的字符串,自动转换为分数列表,支持录入任意数量的分数。
  • 容错处理:添加了if scores else 0.0的判断,避免学生没有录入分数时出现除以0的运行错误。
  • 扩展性强:后续如果需要对学生数据进行排序、筛选(比如找出平均分大于80的学生),直接操作students列表即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 23:45:36