2种Python学生单科成绩信息管理系统

1.使用字典、循环重构学生管理系统




import os
 
#存储操作员信息
adm_dict = {
    "tom": {"username": "tom", "password": "123", "nickname": "tom"},
    "jerry": {"username": "jerry", "password": "456", "nickname": "jerry"}
}
 
#存储学员信息
stu_dict = {
    "001": {"id": "001", "name": "张三", "age": "18", "sex": "男", "grade": "98"}
}
 
#存放当前操作员昵称
nick = None
 
while True:
    nick = None         #每次回到首页时,重置当前用户名称
    os.system('cls')
    print("      学生管理系统")
    print("------------------------")
    print("1.操作员登录")
    print("2.操作员注册")
    print("3.退出系统")
    print("------------------------")
    c = input("输入您的选项:").strip()
 
    if c == "1":
        print("       操作员登录页")
        print("--------------------------")
        username = input("请输入账户名:").strip()
        password = input("请输入密码:").strip()
 
        for adm in adm_dict.values():
            if username == adm['username'] and password == adm['password']:
                nick = adm["nickname"]           # 当前登录用户名称
                while True:
                    os.system('cls')
                    print(f"         学生管理系统-主页     {[nick]}")
                    print("-------------------------------------")
                    print("1.录入学员信息")
                    print("2.删除学员信息")
                    print("3.修改学员信息")
                    print("4.查询所有学员")
                    print("5.退出系统")
                    print("-------------------------------------")
                    c2 = input("请输入选项:").strip()
 
                    if c2 == "1":
                        print(f"       学生管理系统-录入学员    {[nick]}")
                        print("-------------------------------------")
                        id = input("请输入学号:").strip()
                        name = input("请输入姓名:").strip()
                        age = input("请输入年龄:").strip()
                        sex = input("请输入性别:").strip()
                        grade = input("请输入计算机成绩:").strip()
                        print("-------------------------------------")
                        stu_dict[id] = {"id": id, "name": name, "age": age, "sex": sex, "grade": grade}
                        input("学员信息录入成功,按任意键返回主页")
 
                    elif c2 == "2":
                        print(f"       学生管理系统-删除学员    {[nick]}")
                        print("-------------------------------------")
                        id = input("请输入要删除学员的学号:").strip()
                        print("------------------------------------------------------------------")
                        for stu in stu_dict.values():
                            if id == stu['id']:
                                print('学号----+-----姓名----+-----年龄----+-----性别----+-----计算机成绩----')
                                print(stu.get("id"),  stu.get("name"),  stu.get("age"),
                                      stu.get("sex"),  stu.get("grade"), sep="----+-----")
                                print("------------------------------------------------------------------")
                                confirm = input("确认删除(Y/N)?").upper()
                                if confirm == "Y":
                                    stu_dict.pop(id)
                                    input("学员信息删除成功,按任意键返回主页")
                                else:
                                    input("用户取消了删除操作,按任意键返回主页")
                                break
                        else:
                            input("不存在该学号对应的学生,按任意键返回主页面!")
 
                    elif c2 == "3":
                        print(f"       学生管理系统-修改学员信息    {[nick]}")
                        print("-----------------------------------------")
                        id = input("请输入要修改的学号:").strip()
                        print("------------------------------------------------------------------")
                        for stu in stu_dict.values():
                            if id == stu['id']:
                                print('学号----+-----姓名----+-----年龄----+-----性别----+-----计算机成绩----')
                                print(stu.get("id"), stu.get("name"), stu.get("age"),
                                      stu.get("sex"), stu.get("grade"), sep="----+-----")
                                print("------------------------------------------------------------------")
                                ch = input("请输入要修改的属性(1.姓名 2.性别 3.年龄):").strip()
 
                                if ch == "1":  # 修改姓名
                                    name = input("请输入新的姓名:").strip()
                                    stu["name"] = name
                                elif ch == "2":  # 修改性别
                                    sex = input("请输入新的性别:").strip()
                                    stu["sex"] = sex
                                elif ch == "3":  # 修改年龄
                                    age = input("请输入新的年龄:").strip()
                                    stu["age"] = age
                                else:
                                    input("输入错误,按任意键返回主页")
                                    break
                                input("修改完成,按任意键返回主页")
                                break
                        else:
                            input("没有查询到该编号的学员,按任意键返回主页")
 
                    elif c2 == "4":
                        print(f"                     学生管理系统-查看所有学员                  {[nick]}")
                        print("---------------------------------------------------------------------")
                        print("学号----+-----姓名----+-----年龄----+-----性别----+-----计算机成绩----")
                        for stu in stu_dict.values():
                            print(stu.get("id"), stu.get("name"), stu.get("age"),
                                  stu.get("sex"), stu.get("grade"), sep="----+-----")
                        print("---------------------------------------------------------------------")
                        input("按任意键返回主页")
 
                    elif c2 == "5":
                        input("按下任意键退出系统")
                        exit()
 
                    else:
                        input("按任意键重新选择")
 
        else:
            input("账号或密码错误,按下任意键回到首页!")
 
    elif c == "2":
        print("       操作员注册页")
        print("-------------------------")
        username = input("请输入用户名:").strip()
        flag = 0               #字典在遍历过程中不允许修改,设置标志flag确定后续操作
        for adm in adm_dict.values():
            if username == adm['username']:
                flag = 0
                break
            else:
                flag = 1
 
        if flag == 0:
            input("该账号已存在,按任意键返回首页")
        else:
            password = input("请输入密码:").strip()
            password2 = input("请确认密码:").strip()
            nickname = input("请输入昵称:").strip()
            if password == password2:
                adm_dict[username] = {"username": username, "password": password, "nickname": nickname}
                print("-------------注册成功-------------")
                input("请按下任意键回到首页")
            else:
                input("两次密码不一致,请按下任意键回到首页")
 
    elif c == "3":
        input("按下任意键退出系统!")
        exit()
 
    else:
        print("输入有误,重新输入")

2.使用字典、函数,构建学生管理系统

import os
 
#存储操作员信息
adm_dict = {
    "tom": {"username": "tom", "password": "123", "nickname": "tom"},
    "jerry": {"username": "jerry", "password": "456", "nickname": "jerry"}
}
 
#存储学员信息
stu_dict = {
    "001": {"id": "001", "name": "张三", "age": "18", "sex": "男", "grade": "98"}
}
 
#存放当前操作员昵称
nick = None
 
 
####################################################### 退出系统函数 #########
def do_exit():
    global nick  #每次退出系统时重置当前用户名称
    nick = None
    input("按下任意键退出系统!")
    exit()
 
 
########################################################## 注册页函数 ############
def register_page():
    print("       操作员注册页")
    print("-------------------------")
    username = input("请输入用户名:").strip()
    flag = 0  #字典在遍历过程中不允许修改,设置标志flag确定后续操作
    for adm in adm_dict.values():
        if username == adm["username"]:
            flag = 0
            break
        else:
            flag = 1
 
    if flag == 0:
        n = input("该账号已存在,按1重新注册,按其它键回到登录菜单")
        if n == "1":
            return register_page()
        else:
            return login_menu()
    else:
        password = input("请输入密码:").strip()
        password2 = input("请确认密码:").strip()
        nickname = input("请输入昵称:").strip()
        if password == password2:
            adm_dict[username] = {"username": username, "password": password, "nickname": nickname}
            print("-------------注册成功-------------")
            input("请按下任意键返回登录菜单")
            return login_menu()
        else:
            input("两次密码不一致,请按下任意键重新注册")
            return register_page()
 
 
########################################################## 登录页函数 ############
def login_page():
    global nick  #每次回到登录页时,重置当前用户名称
    nick = None
    print("       操作员登录页")
    print("--------------------------")
    username = input("请输入账户名:").strip()
    password = input("请输入密码:").strip()
 
    for adm in adm_dict.values():
        if username == adm["username"] and password == adm["password"]:
            nick = adm["nickname"]  #当前登录用户名称
            return function_menu()
    else:
        input("账号或密码错误,按下任意键回到首页!")
        return login_menu()
 
 
########################################################## 功能页函数 ############
def function_menu():
    print(f"         学生管理系统-主页     {[nick]}")
    print("-------------------------------------")
    print("1.录入学员信息")
    print("2.删除学员信息")
    print("3.修改学员信息")
    print("4.查询所有学员")
    print("5.退出登录")
    print("6.退出系统")
    print("-------------------------------------")
    c2 = input("请输入选项:").strip()
 
    if c2 == "1":
        add()
    elif c2 == "2":
        delete()
    elif c2 == "3":
        update()
    elif c2 == "4":
        search()
    elif c2 == "5":
        return login_menu()
    elif c2 == "6":
        return do_exit()
    else:
        input("输入不正确,按下任意键回到功能主页")
        return function_menu()
 
 
########################################################## 添加学员函数 ############
def add():
    print(f"       学生管理系统-录入学员    {[nick]}")
    print("-------------------------------------")
    id = input("请输入学号:").strip()
    name = input("请输入姓名:").strip()
    age = input("请输入年龄:").strip()
    sex = input("请输入性别:").strip()
    grade = input("请输入计算机成绩:").strip()
    print("-------------------------------------")
    stu_dict[id] = {"id": id, "name": name, "age": age, "sex": sex, "grade": grade}
    input("学员信息录入成功,按任意键返回功能主页")
    return function_menu()
 
 
########################################################## 删除学员函数 ############
def delete():
    print(f"       学生管理系统-删除学员    {[nick]}")
    print("-------------------------------------")
    id = input("请输入要删除学员的学号:").strip()
    print("------------------------------------------------------------------")
    for stu in stu_dict.values():
        if id == stu["id"]:
            print("学号----+-----姓名----+-----年龄----+-----性别----+-----计算机成绩----")
            print(stu.get("id"), stu.get("name"), stu.get("age"),
                  stu.get("sex"), stu.get("grade"), sep="----+-----")
            print("------------------------------------------------------------------")
            confirm = input("确认删除(Y/N)?").upper()
            if confirm == "Y":
                stu_dict.pop(id)
                input("学员信息删除成功,按任意键返回功能主页")
                return function_menu()
            else:
                input("用户取消了删除操作,按任意键返回功能主页")
                return function_menu()
    else:
        input("不存在该学号对应的学生,按任意键返回功能页面!")
        return function_menu()
 
 
########################################################## 修改学员信息函数 ############
def update():
    print(f"       学生管理系统-修改学员信息    {[nick]}")
    print("-----------------------------------------")
    id = input("请输入要修改的学号:").strip()
    print("------------------------------------------------------------------")
    for stu in stu_dict.values():
        if id == stu["id"]:
            print("学号----+-----姓名----+-----年龄----+-----性别----+-----计算机成绩----")
            print(stu.get("id"), stu.get("name"), stu.get("age"),
                  stu.get("sex"), stu.get("grade"), sep="----+-----")
            print("------------------------------------------------------------------")
            ch = input("请输入要修改的属性(1.姓名 2.性别 3.年龄):").strip()
 
            if ch == "1":  # 修改姓名
                name = input("请输入新的姓名:").strip()
                stu["name"] = name
            elif ch == "2":  # 修改性别
                sex = input("请输入新的性别:").strip()
                stu["sex"] = sex
            elif ch == "3":  # 修改年龄
                age = input("请输入新的年龄:").strip()
                stu["age"] = age
            else:
                input("输入错误,按任意键返回功能主页")
                return function_menu()
            input("修改完成,按任意键返回功能主页")
            return function_menu()
    else:
        input("没有查询到该编号的学员,按任意键返回功能主页")
        return function_menu()
 
 
########################################################## 查询学员函数 ############
def search():
    print(f"                     学生管理系统-查看所有学员                  {[nick]}")
    print("---------------------------------------------------------------------")
    print("学号----+-----姓名----+-----年龄----+-----性别----+-----计算机成绩----")
    for stu in stu_dict.values():
        print(stu.get("id"), stu.get("name"), stu.get("age"),
              stu.get("sex"), stu.get("grade"), sep="----+-----")
    print("---------------------------------------------------------------------")
    input("按任意键返回功能主页")
    return function_menu()
 
 
########################################################## 首页函数 ############
def login_menu():
    os.system("cls")
    print("      学生管理系统")
    print("------------------------")
    print("1.操作员登录")
    print("2.操作员注册")
    print("3.退出系统")
    print("------------------------")
    c = input("输入您的选项:").strip()
 
    if c == "1":
        return login_page()
    elif c == "2":
        return register_page()
    elif c == "3":
        return do_exit()
    else:
        input("输入有误,按任意键回到登录菜单")
        return login_menu()
 
 
########################################################## 程序入口 ############
if __name__ == "__main__":
    login_menu()

2段代码均来自网络,亲测可用。小编6多年python开发经验,,有PYTHON需求的可以加微信web_445i。

未经允许不得转载:445IT之家 » 2种Python学生单科成绩信息管理系统

赞 (0) 打赏

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏