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()
完成!!!