1-作用:设计一个学生信息管理系统,可以存储学生的姓名、学号、专业、邮箱信息,并可以修改、查询、显示学生的信息。
2-代码
2-1mng_main.py
#!/home/python/anaconda3/bin/python3释伴:Linux 上的 Shebang 符号(#!)blog.csdn.net
import mng_tools
while True:
mng_tools.show_menu()
action_str=input("选择希望执行的操作:")
print("您选择的是:[%s]"%action_str)
if action_str in ['1','2','3']:
if action_str=='1':
mng_tools.new_info()#新增信息
elif action_str=='2':
mng_tools.show_all()#显示所有信息
elif action_str=='3':
mng_tools.search_info()#检索信息
elif action_str=='0':
print('欢迎再次使用[学生信息管理系统]')
break
else:
print('您输入的不正确,请重新输入:')
2-2 mng_tools.py
# 记录所有的信息字典
stu_list = []
def show_menu():
# 显示菜单
print("*" * 50)
print("欢迎使用[学生信息管理系统]v1.0")
print('')
print("1.新增信息")
print("2.显示全部")
print("3.查询信息")
print("*" * 50)
def new_info():
"""新增信息"""
print("-" * 50)
print("新增信息")
name_str = input("请输入姓名:")
ID_str = input("请输入学号:")
major_str = input("请输入专业:")
email_str = input("请输入邮箱:")
info_dict = {"name": name_str,
"ID": ID_str,
"major": major_str,
"email": email_str}
stu_list.append(info_dict)
print(stu_list)
print("添加%s的信息成功!" % name_str)
def show_all():
"""显示所有信息"""
print("-" * 50)
print("显示所有信息")
# 判断是否存在信息记录
if len(stu_list) == 0:
print("当前没有任何的信息记录,请使用添加功能!")
return # return 可以返回一个函数的执行结果 下方的代码不会被执行 也可以不返回任何内容
# 打印表头
for name in ['姓名', '学号', '专业', '邮箱']:
print(name, end='\t\t')
print('')
print("=" * 50)
# 遍历
for stu_dict in stu_list:
print("%s\t\t%s\t\t%s\t\t%s\t\t" % (stu_dict["name"],
stu_dict["ID"],
stu_dict["major"],
stu_dict["email"]))
def search_info():
"""搜索信息"""
print("-" * 50)
print("搜索信息")
find_info = input("请输入要搜索的姓名或者学号:")
for stu_dict in stu_list:
if stu_dict["name"] == find_info or stu_dict["ID"]==find_info:
print("姓名\t\t学号\t\t专业\t\t邮箱\t\t")
print("=" * 50)
print("%s\t\t%s\t\t%s\t\t%s\t\t" % (stu_dict["name"],
stu_dict["ID"],
stu_dict["major"],
stu_dict["email"]))
# TODO 修改和删除操作
deal_info(stu_dict)
break
else:
print("抱歉,没有找到%s" % find_info)
def deal_info(find_dict):
action_str = input("请选择要执行的操作:"
"[1]-修改 [2]-删除 [0]-返回上级菜单\n")
if action_str == '1':
find_dict["name"] = input_stu_info(find_dict["name"], "名字")
find_dict["phone"] = input_stu_info(find_dict["ID"], "学号")
find_dict["qq"] = input_stu_info(find_dict["major"], "专业")
find_dict["email"] = input_stu_info(find_dict["email"], "邮箱")
print("修改信息成功")
elif action_str == '2':
stu_list.remove(find_dict)
print("删除信息成功")
def input_stu_info(dict_value, tip_message):
result_str = input(tip_message)
if len(result_str) > 0:
return result_str
else:
return dict_value
3-测试(测试环境为ubuntu16.04终端)
在终端中直接运行(若没有执行权限可以通过chmod -R a+w命令给程序可执行权限)
打开程序:
打开的页面:
添加信息:
显示全部:
查询和修改:
结束语:
由于本人水平有限,难免会出现各种错误,欢迎大家批评指正,我在这里谢谢大家!文章后续可能有更新,具体还看学习情况和时间安排,当然,也欢迎大家评论,一起学习一起进步!