从零开始 - Python基础 案例练习-----学生管理系统

系统功能

  1. 添加学生
    检查添加的信息中的唯一值(标识列)-学号(stu_no)
    如果存在
    提示:该学号已存在
    如果不存在
    引导用户输入学生的详细信息
    保存数据
  2. 删除学生
  3. 修改学生
  4. 查询学生
  5. 展现所有学生信息
  6. 全体学员平均分和及格率
  7. 退出程序
all_dict = {"1000":{"学号":"1000","姓名":"张三","年龄":"20","性别":"男","成绩":"90"}}
def stu_mean():
    print("===========================")
    print("-----学生管理系统 v1.0-----")
    print("     1.添加学生")
    print("     2.删除学生")
    print("     3.修改学生")
    print("     4.查询学生")
    print("     5.显示所有学生")
    print("     6.查询平均分和及格率")
    print("     7.退出程序")
    print("===========================")

def stu_dict():
    while True:
        num = input("输入需要增加学生的编号:")
        if num in all_dict:
            print("该学生已存在")
        else:
            stu_no = input("请输入学号:")
            stu_name = input("请输入姓名:")
            stu_age = input("请输入年龄:")
            stu_xing = input("请输入性别:")
            stu_score = input("请输入成绩:")
            all_dict[num] = {"no":stu_no,"name":stu_name,"age":stu_age,"xing":stu_xing,"score":stu_score}
            print("添加成功")
            return
def stu_del():
    while True:
        num = input("输入需要删除学生的编号:")
        if num in all_dict:
            del all_dict[num]
            print("删除成功")
            return
        else :
            print("该学生不存在或已被删除")

def stu_revise():
    while True:
        num = input("输入需要修改学生的编号:")
        if num in all_dict:
            num1 = input("需要改什么信息:")
            num2 = input("需要改为什么:")
            all_dict[num][num1] = num2
            print("修改成功")
            print(all_dict)
            return

        else:
            print("请检查您的学生编号是否填写正确")
def stu_find():
    while True:

        num = input("输入需要查询的学号:")
        if num in all_dict:
            num1 = all_dict[num]
            print(num1)
            return
        else:
            print("请检查学号是否填写正确")


def stu_print():
    print("--------学生整体信息表--------")
    for item in all_dict.values():
        print("学号:%s|姓名:%s|年龄:%s|性别:%s|成绩:%s"%(item["学号"],item["姓名"],item["年龄"],item["性别"],item["成绩"]))
        print("-------------------------------")
    print("---------------完-------------")

def stu_avg():
    print("--------平均成绩--------")
    c = 0
    for num in all_dict.values():
        c += int(num["成绩"])
    num1 = c // len(all_dict)
    print("平均成绩为%d"%num1)


def stu_pass():
    print("---------及格l率---------")
    a = 0
    for num in all_dict.values():
        if int(num["成绩"]) >= 60:
            a += 1
    num1 = a / len(all_dict) * 100
    print("及格率为%.f" %num1)


def main():
    while True:
        stu_mean()
        print_num = int(input("请输入需要查询的编号:"))
        if print_num == 1:
            stu_dict()
            pass
        elif print_num == 2:
            stu_del()
            pass
        elif print_num == 3:
            stu_revise()
            pass
        elif print_num == 4:
            stu_find()
            pass
        elif print_num == 5:
            stu_print()
            pass
        elif print_num == 6:
            while True:
                num = int(input("输入“1”查询平均成绩,输入“2”查询及格率,输入“3”返回上一阶段,请输入:"))
                if num == 1 :
                    stu_avg()

                elif num == 2:
                    stu_pass()
                elif num == 3:
                    break

                else:
                    print("输入数字有误,请重新输入")
        elif print_num == 7:
            return
        else:
            print("输入数字有误,请重新输入")
main()

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值