python实现学生成绩管理程序,包含各科成绩的录入,计算各个学生的总分和平均分,统计各个科目的最高分、最低分和平均分。

一、编程题目

        编程题目:使用python实现学生各科成绩的录入,计算各个学生的总分和平均分,统计各个科目的最高分、最低分和平均分。其中学生人数通过输入来决定,科目包括语文、数学和英语这三门课程。(保留一位小数)


二、实现思路

       1、实现各科成绩的录入,有多个学生和多个科目,因此需要使用到双层循环

        2、要计算每个学生的总分和平均分,那么每录入完一个学生的成绩信息,就需要计算好该学生的总分和平均分,总分就是三门课程分数相加,平均分就是总分/科目的数量

      3、要统计每个科目的最高分、最低分和平均分,要就需要知道各个科目有哪些成绩数据,可使用字典来存储这个对应关系。


三、代码实现

        1、定义数据存储的相关变量

stu_score_list = []
subject = ["语文","数学","英语"]
subject_score = {v:[] for v in subject}
stu_score_list 存储录入的学生成绩信息,subject是表示有哪些科目,根据题目要求,只有语文、数学和英语这三门。subject_score是一个字典,用于存储每个科目有哪些成绩信息,便于统计科目的最高分、最低分和平均分。

2、获取需要录入的学生成绩信息的数量,也就是学生的人数:

num = int(input('请输入学生人数:'))

3、循环学生人数,录入每个学生的成绩信息

for i in range(num):
    stu_id = input(f"第{i+1}个学生的学号:")
    stu_name = input(f"第{i+1}个学生的姓名:")

    stu = {"学号":stu_id,"姓名":stu_name}
    s = 0
    for j in subject:
        sc = float(input(f"第{i+1}个学生的{j}成绩:"))
        s += sc
        stu[j] = sc
        subject_score[j].append(sc)
    stu["总成绩"] = s
    stu["平均成绩"] = round(s/len(subject),1)
    stu_score_list.append(stu)

   使用双层循环录入学生的成绩信息。第一层循环,循环学生人数,表示当前录入的是第几个学生的成绩。第二层循环,录入的是该学生各个科目的成绩,在这个循环中,累加该学生的成绩,得到该学生的总分,在使用总分除以科目的数量(也就是3门)得到该学生的平均分。

4、输出录入的学生成绩信息,包括学生的信息,学生各科目的成绩,总成绩和平均成绩信息

print('您录入的学生成绩信息如下:')
for v in stu_score_list:
    print(v)

 5、输出录入的各个科目的最高分、最低分和平均分

print('在该批学生成绩中:')
for k,v in subject_score.items():
    print(f'{k}最高分:{max(v)},最低分:{min(v)},平均分:{round(sum(v)/len(v),1)}')

 最高分、最低分的统计,使用到 了python内置模块的max和min方法。


四、程序运行截图

1、输入学生人数

 2、输入学生的信息和成绩信息

 

3、输出学生成绩信息

 

 

 

 

 

  • 7
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阳光宅男xxb

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值