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学生单科成绩信息管理系统