通过python制作简单的学员信息管理系统

具体思路:

  1. 先通过一个字典存储学员的信息(因为“no”表示学号是唯一的,不会出现姓名、年龄、班级、成绩中的重复现象)用“no”学号来代表每个学员的集体信息
  2. 告诉使用者这个系统的所有功能
  3. 通过方法(函数)存储每个功能
  4. 最后通过主函数main()来调用这些功能
# 先创建一个所有学员的容器
# 通过学号来控制学员
all_stu={"01":{"no":"01","name":"张三","age":23,"cla":"一班","achi":87}}

def ser():
    print("===========================")
    print("---------学员信息管理系统----------")
    print("1:添加新学员")
    print("2:删除学员")
    print("3:修改学员")
    print("4:查询学员")
    print("5:显示所有学员")
    print("6:所有学员成绩的平均数")
    print("7:本班的及格率")
    print("8:退出登录")
    print("===========================")


# 添加成员
def add_mem():
    stu_no = input("请输入学号")
    if stu_no not in all_stu:

        stu_name = input("请输入姓名")
        stu_age = int(input("请输入年龄"))
        stu_cla = input("请输入班级")
        stu_achi = int(input("请输入成绩"))
        stu_sum = {"no":stu_no,"name":stu_name,"age":stu_age,"cla":stu_cla,"achi":stu_achi}
        all_stu[stu_no]=stu_sum
        print("添加成功")
    else:
        print("该同学已经注册")

# 删除学员
def del_stu():
    while True:
        stu_no = input("请输入想删除的学员学号")
        if stu_no in all_stu:
            del all_stu[stu_no]
            return
        else:
            print("该学生不存在")

# 修改学员
def mod_stu():
    while True:
        stu_no = input("请输入想要修改的学员学号")
        if stu_no in all_stu:
            new_name = input("请输入新的姓名")
            new_age = int(input("请输入新的年龄"))
            new_cla = input("请输入新班级")
            new_achi = int(input("请输入新的成绩"))
            stu_sum = {"no": stu_no, "name": new_name, "age": new_age, "cla": new_cla,"achi":new_achi}
            all_stu[stu_no] = stu_sum
            return
        else:
            print("该学员不存在!")
# 查询学员
def que_stu():
    while True:
        stu_no = input("请输入学员的学号")
        if stu_no in all_stu:
            str_dick = all_stu[stu_no]
            print(str_dick)
            return
        else:
            print("该学员不存在")

# 显示全部成员   通过循环key来取出 volue的值(每个学员的信息)
def show_stu():
    for inm in all_stu.values():
        print("="*33)
        print("学号:%s***姓名:%s***年龄:%d***班级:%s***成绩:%d " %(inm["no"],inm["name"],inm["age"],inm["cla"],inm["achi"]))
        print("==========以上是所有成员==========")

# 平均数
def aver_stu():
    l = len(all_stu)
    sum = 0
    for irm in all_stu.values():
        sm = irm["achi"]
        sum+=sm
    ss = sum/l
    print("平均值为:%d" %ss)

# 及格率
def pas_stu():
    l = len(all_stu)
    sum = 0
    for irm in all_stu.values():
        sm = irm["achi"]
        if sm>60 and sm<100:
            sum += 1
            ss=sum/l*100
            print("及格率为:%d%%"%ss)

# 创建一个总控制方法
def main():
    while True:
        ser()
        sel_fun=int(input("请输入想选择的功能:"))
        # 添加新学员
        if sel_fun == 1:
            add_mem()
            print(all_stu)
            # 删除学员
        elif sel_fun == 2:
            del_stu()
            # print(all_stu)
            
        # 修改学员
        elif sel_fun == 3:
            mod_stu()
            # print(all_stu)
            
        # 查询学员
        elif sel_fun == 4:
            que_stu()
            
        # 显示所有学员
        elif sel_fun == 5:
            show_stu()
            
        # 平均数
        elif sel_fun == 7:
            aver_stu()
            
        # 及格率
        elif sel_fun ==8:
            pas_stu()
            
        # 退出登录
        elif sel_fun == 6:
            return
            

main()

你可能感兴趣的:(学员管理系统)