式微 2023-03-30 14:24 采纳率: 100%
浏览 12
已结题

pjthon成绩字典

要求:
输入姓名
输入语数英成绩
输出总人数
输出每个人总成绩
输出每门课平均成绩

目前自己写出来的是这样,要怎么改才符合要求

student = {}
while True:
    a= input("<姓名>")
    if a== 'q':
        break
    b=input('<语数英成绩>')
    chi,mat,eng = b.split(',')
    student[a]= b
person =len(student)  
print(f"<总人数>{person}")
c, m, e = 0, 0, 0
c+=chi
m+=mat
e+=e,b in student.items():
    total_score=sum(b.values())
    print(f'{a}总分:{total_score}')
    
print(f'<语文平均>{c/person:.2f} ')
print(f'<数学平均>{c/person:.2f} ')
print(f'<英语平均>{c/person:.2f}')
'''


  • 写回答

1条回答 默认 最新

  • threenewbee 2023-03-30 14:48
    关注
    import math
    stu_dict = {}
    user_input_number = ("1", "2", "3", "4", "5", "6")
     
     
    # 菜单
    def menu():
        print("="*50)
        print("欢迎使用该班级学生成绩管理系统!".center(55))
        print("1:添加学生成绩")
        print("2:删除学生成绩")
        print("3:修改学生成绩")
        print("4:查询学生成绩")
        print("5:统计学生成绩")
        print("6:退出系统")
        print("="*50)
     
     
    # 添加学生成绩
    def input_stu():
        #  创建一个字典存放学生信息
        stu_num = input("请输入您要添加学生学号:")
        # 接收用户输入
        stu_grade = input("请输入该学生的成绩:")
        # 添加信息到字典
        stu_dict[stu_num] = stu_grade
        # 输出用户信息
     
     
    # 删除学生
    def stu_delete():
        stu_num = input("请输入要删除的学生学号:")
        if stu_num in stu_dict.keys():    # 先判断该学生是否在字典中
            del stu_dict[stu_num]
            print("删除成功!")
        else:
            print("未查询到该学生信息!")
     
     
    # 修改学生成绩
    def stu_change():
        stu_num = input("请输入要修改的学生学号:")
        if stu_num in stu_dict.keys():    # 先判断该学生是否在字典中
            stu_update = input("请输入修改后的学生成绩:")
            stu_dict[stu_num] = stu_update
            print("修改成功!")
        else:
            print("未查询到该学生信息!")
     
     
    # 查找学生成绩
    def stu_find():
        stu_num = input("请输入要查询的学生学号:")
        for i in stu_dict.keys():
            if i == stu_num:
                print("学号:{}".format(i), "成绩:{}".format(stu_dict.get(i)))
                return
        print("未查询到该学生成绩!")
     
     
    # 统计学生最高分、最低分和平均分
    def grade_sta():
        stu_list = []    # 定义一个列表用来存放学生成绩
        for i in stu_dict.keys():
            stu_list.append(int(stu_dict.get(i)))
        print("成绩最大值:{}".format(max(stu_list)))
        print("成绩最小值:{}".format(min(stu_list)))
        grade_sum = sum(stu_list)
        avg = grade_sum/len(stu_list)
        print("平均分:{}".format(avg))
     
     
    if __name__ == '__main__':
        menu()
        while True:
            stu_input = input("请输入选择的功能:")
            if stu_input in user_input_number:
                if stu_input == "1":
                    # 添加学生
                    input_stu()
                elif stu_input == "2":
                    # 删除学生
                    stu_delete()
                elif stu_input == "3":
                    # 修改学生成绩
                    stu_change()
                elif stu_input == "4":
                    # 查询学生成绩
                    stu_find()
                elif stu_input == "5":
                    # 统计学生成绩
                    grade_sta()
                else:
                    print("感谢您的使用!")
                    break
            else:
                print("请输入正确的序号选择!")
    
    

    https://blog.csdn.net/m0_58820574/article/details/125029523

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 4月20日
  • 已采纳回答 4月12日
  • 创建了问题 3月30日

悬赏问题

  • ¥20 需要帮我远程操控一下,运行一下我的那个代码,我觉得我无能为力了
  • ¥20 有偿:在ubuntu上安装arduino以及其常用库文件。
  • ¥15 请问用arcgis处理一些数据和图形,通常里面有一个根据点划泰森多边形的命令,直接划的弊端是只能执行一个完整的边界,但是我们有时候会用到需要在有很多边界内利用点来执行划泰森多边形的命令
  • ¥30 在wave2foam中执行setWaveField时遇到了如下的浮点异常问题,请问该如何解决呢?
  • ¥750 关于一道数论方面的问题,求解答!(关键词-数学方法)
  • ¥200 csgo2的viewmatrix值是否还有别的获取方式
  • ¥15 Stable Diffusion,用Ebsynth utility在视频选帧图重绘,第一步报错,蒙版和帧图没法生成,怎么处理啊
  • ¥15 请把下列每一行代码完整地读懂并注释出来
  • ¥15 寻找公式识别开发,自动识别整页文档、图像公式的软件
  • ¥15 为什么eclipse不能再下载了?