Python------使用循环和字典

本文介绍了使用Python字典和循环重构了一个学生管理系统,包括登录、注册、操作员界面以及学员信息的增删改查功能。并通过函数化实现了代码模块化和可维护性。
摘要由CSDN通过智能技术生成

1.使用字典、循环重构管理系统,实现所有功能

(1)需要实现的功能

展示页面:

主界面:

(2)代码实现

# 引入模块
import os

# 公共数据:记录学员信息的字典
# user_dict = {"admin": {"password": "123", "nickname": "管理员"}}
user_dict = {"admin": {"password": "123", "nickname": "管理员"}}
# stu_dict = {"学号": {"姓名": "张三", "年龄": 18, "性别": "男", "成绩": 90}}
stu_dict = {}

# 1. 展示登录界面
while True:
    os.system("cls")  # clears
    print("\t\t学生管理系统")
    print("- * - * - * - * - * - * - * - * - * - * - * -")
    print("\t\t1. 操作员登录")
    print("\t\t2. 操作员注册")
    print("\t\t3. 退出系统")
    print("- * - * - * - * - * - * - * - * - * - * - * -")

    # 提示用户输入选项
    choice = input("请输入您的选项:")

    if choice == "1":
        # 2. 登录操作
        username = input("请输入账号:")
        password = input("请输入密码:")
        # 判断账号密码是否正确
        if username in user_dict and password == user_dict[username]["password"]:
            # 登录成功,展示首页页面
            while True:
                # 3. 主页界面
                os.system("cls")
                print("\t\t学生管理系统-主页")
                print("~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~")
                print("\t\t1. 录入学员信息")
                print("\t\t2. 删除学员信息")
                print("\t\t3. 修改学员信息")
                print("\t\t4. 查询学员信息")
                print("\t\t5. 退出系统")
                print("~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~")
                # 4. 功能流程(增加、删除、查询、退出)
                choice = input("请输入您的选项:")
                if choice == "1":
                    # 录入学员信息
                    id = input("请输入学号:")
                    name = input("请输入姓名:")
                    age = input("请输入年龄:")
                    gender = input("请输入性别(男/女):")
                    score = input("请输入计算机成绩:")
                    # 创建学员字典
                    stu_dict[id] = {"姓名": name, "年龄": age, "性别": gender, "成绩": score}
                    input("学员信息录入成功,按任意键返回主页")

                elif choice == "2":
                    # 删除学员信息
                    id = input("请输入要删除的学员编号:")
                    if id in stu_dict:
                        del stu_dict[id]
                        input("学员信息删除成功,按任意键返回主页")
                    else:
                        input("未找到该学员,请检查编号是否正确,按任意键返回主页")

                elif choice == "3":
                    # 修改学员信息:姓名、性别、年龄
                    id = input("请输入要修改的学员编号:")
                    if id in stu_dict:
                        # 展示要删除的学员信息
                        print("----------------------------------------")
                        print("学号--|--姓名--|--年龄--|--性别--|--计算机成绩--|")
                        student_info = stu_dict[id]
                        print(id, student_info["姓名"], student_info["年龄"],
                              student_info["性别"], student_info["成绩"], sep="--|--")
                        print("----------------------------------------")
                        ch = input("请输入要修改的属性(1.姓名 2.性别 3.年龄):")

                        if ch == "1":  # 修改姓名
                            name = input("请输入新的姓名:")
                            stu_dict[id]["姓名"] = name
                        elif ch == "2":  # 修改性别
                            gender = input("请输入新的性别:")
                            stu_dict[id]["性别"] = gender
                        elif ch == "3":  # 修改年龄
                            age = input("请输入新的年龄:")
                            stu_dict[id]["年龄"] = age
                        else:
                            input("输入错误,按任意键返回主页")
                    else:
                        input("没有查询到该编号的学员,按任意键返回主页")

                elif choice == "4":
                    # 查询学员信息
                    print("\t\t学生管理系统-学员信息查看")
                    print("----------------------------------------")
                    print("学号--|--姓名--|--年龄--|--性别--|--计算机成绩--|")
                    for id, info in stu_dict.items():
                        print(id, info["姓名"], info["年龄"],
                              info["性别"], info["成绩"], sep="--|--")
                    print("----------------------------------------")
                    input("学员信息查看完成,按任意键返回")

                elif choice == "5":
                    # 退出系统
                    input("按任意键退出")
                    exit()
                else:
                    input("输入有误,按任意键重新输入!")

        else:
            input("账号或密码错误,按任意键返回首页")

    elif choice == "2":
        # 注册操作
        username = input("请输入注册账号:")
        if username in user_dict:
            input("账号已存在,按任意键返回!")
        else:
            password = input("请输入注册密码:")
            nickname = input("请输入昵称:")
            # 注册添加新用户
            user_dict[username] = {"password": password, "nickname": nickname}
            input("新用户注册成功,按任意键返回首页")

    elif choice == "3":
        # 退出系统
        input("按任意键退出")
        exit()
    else:
        print("输入有误,请重新输入!")

2.使用函数改进

(1)代码示例

展示界面
def login_menu():
    print("\t\t学生登录管理系统")
    print("---------------------------")
    print("\t1.登录系统")
    print("\t2.系统注册")
    print("\t3.退出系统")
    print("---------------------------")
    choice = input("请输入你的选择:")
    if choice == "1":
        login()
    elif choice == "2":
        register()
    elif choice == "3":
        print("按任意键退出")
        cu_exit()
登录界面函数
def login():
    print("登录界面")
    print("-------------------------")
    # 2. 登录操作
    username = input("请输入账号:").strip()
    password = input("请输入密码:").strip()
    # 判断账号密码是否正确
    if username in user_dict and password == user_dict[username]["password"]:
        # 登录成功,展示首页页面
        home()
    else:
        x = input("账号或密码错误,返回主页请输入1,重新输入账号密码请输入2")
        if x == "1":
            login_menu()
        else:
            login()

    print("-------------------------")

注册函数
# 注册添加新用户2
def register():
    username = input("请输入注册账号:").strip()

    if username in user_dict:
        input("账号已存在,按任意键返回!")
        register()
    else:
        password = input("请输入注册密码:").strip().lower()
        # 注册添加新用户
        user_dict[username] = {"password": password}
        input("新用户注册成功,按任意键返回首页")
        return login_menu()
退出函数
# 退出系统
def cu_exit():
    """程序结束"""
    input("系统即将退出,按任意键继续")
    exit()
主界面函数
# 学生登录页面-首页
def home():
    print("学生登录页面-首页")
    print("---------------------------")
    print("\t1.增加学员信息")
    print("\t2.修改学员信息 ")
    print("\t3.删除学员信息")
    print("\t4.查看学员信息")
    print("\t5.退出系统")
    print("---------------------------")
    choice = input("请输入你的选择:")
    if choice == "1":
        increase()
    elif choice == "2":
        modify()
    elif choice == "3":
        delet()
    elif choice == "4":
        check()
    elif choice == "5":
        cu_exit()
    else:
        input("输入错误,任意按钮返回首页")
        home()
增加学员信息函数
def increase():
    '''增加学员信息'''
    # 录入学员信息
    id = input("请输入学号:")
    '''如何判断是否重复'''
    if id in stu_dict:
        print("学号重复,重新输入")
        increase()
    name = input("请输入姓名:")
    age = input("请输入年龄:")
    gender = input("请输入性别(男/女):")
    score = input("请输入计算机成绩:")
    stu_dict[id] = {"姓名": name, "年龄": age, "性别": gender, "成绩": score}
    x = input("学员信息录入成功,继续添加请按1,按其它键返回主页")
    if x == "1":
        increase()
    else:
        home()
删除学员信息函数
def delet():
    '''删除学员信息'''
    # 删除学员信息
    id = input("请输入要删除的学员编号:")
    if id in stu_dict:
        print(stu_dict[id])
        n = input("确认删除吗?Y/N").upper()
        if n == "Y":
            del stu_dict[id]
            input("学员信息删除成功,按任意键返回主页")
            home()
        else:
            print("操作员已取消删除")
    else:
        x = input("未找到该学员,请检查编号是否正确,继续删除请按1,返回主页请按其它")
        if x == "1":
            delet()
        else:
            print("错误,按任意键返回主页")
            home()

修改学员信息函数
def modify():
    '''修改学员信息'''
    # 修改学员信息:姓名、性别、年龄
    id = input("请输入要修改的学员编号:")
    if id in stu_dict:
        print("----------------------------------------")
        print("学号--|--姓名--|--年龄--|--性别--|--计算机成绩--|")
        student_info = stu_dict[id]
        print(id, student_info["姓名"], student_info["年龄"],
              student_info["性别"], student_info["成绩"], sep="--|--")
        print("----------------------------------------")
        ch = input("请输入要修改的属性(1.姓名 2.性别 3.年龄):")

        if ch == "1":  # 修改姓名
            name = input("请输入新的姓名:")
            stu_dict[id]["姓名"] = name
            input("修改完成,按任意键返回主页")
            home()
        elif ch == "2":  # 修改性别
            gender = input("请输入新的性别:")
            stu_dict[id]["性别"] = gender
            input("修改完成,按任意键返回主页")
            home()
        elif ch == "3":  # 修改年龄
            age = input("请输入新的年龄:")
            stu_dict[id]["年龄"] = age
            input("修改完成,按任意键返回主页")
            home()
        else:
            input("输入错误,按任意键返回主页")
    else:
        x = input("没有查询到该编号的学员,继续修改请按1,按其它键返回主页")
        if x == "1":
            modify()
        else:
            home()
查询所有学员信息
def check():
    # 查询学员信息
    print("\t\t学生管理系统-学员信息查看")
    print("----------------------------------------")
    print("学号--|--姓名--|--年龄--|--性别--|--计算机成绩--|")
    for id, info in stu_dict.items():
        print(id, info["姓名"], info["年龄"],
              info["性别"], info["成绩"], sep="--|--")
    print("----------------------------------------")
    input("学员信息查看完成,按任意键返回")
    home()

完成!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值