Python简单学生管理系统

<p>-------------------<br>     学生管理系统V2.0  <br>1:添加学生<br>2:删除学生<br>3:修改学生<br>4:查询学生<br>5:显示所有学生<br>6:保存数据<br>7:退出系统<br>-------------------</p>

代码如下所示:

复制代码
  1 import time
  2 import os
  3 #定义一个列表,用来存储所有的学生信息(每个学生是一个字典)
  4 info_list = []
  5 
  6 def print_memu():
  7     print("-------------------")
  8     print("     学生管理系统V2.0  ")
  9     print("1:添加学生")
 10     print("2:删除学生")
 11     print("3:修改学生")
 12     print("4:查询学生")
 13     print("5:显示所有学生")
 14     print("6:保存数据")
 15     print("7:退出系统")
 16     print("-------------------")
 17 
 18 def add_new_info():
 19     global info_list
 20     new_name = input("请输入姓名:")
 21     new_tel = input("请输入手机号:")
 22     new_qq = input("请输入QQ:")
 23 
 24     for temp_info in info_list:
 25         if temp_info['name'] == new_name:
 26             print("该用户名已被占用,请重新输入")
 27             return #该函数结束,没有返回值
 28     #定义一个字典,用来存储用户的学生信息
 29     info = {}
 30 
 31     #向字典中添加数据
 32     info["name"] = new_name
 33     info["tel"] = new_tel
 34     info['qq'] = new_qq
 35 
 36     #向列表中添加这个字典
 37     info_list.append(info)
 38 
 39 #删除学生信息
 40 def del_info():
 41     global info_list
 42     del_num = int(input("请输入要删除的序号:"))
 43     if 0 <= del_num <=len(info_list):
 44         del_flag = input("您确定要删除吗?yes or no")
 45         if del_flag == "yes":
 46             del info_list[del_num]
 47         else:
 48             print("输入序号有误,请重新输入")
 49 #修改学生信息
 50 def modify_info():
 51     global info_list
 52     modify_num = int(input("请输入要修改的序号:"))
 53     if 0<=modify_num<=len(info_list):
 54         print("您要修改的信息是:")
 55         print("name:%s,tel:%s,qq:%s"%(info_list[modify_num]['name'],
 56               info_list[modify_num]['tel'],info_list[modify_num]['qq']))
 57         info_list[modify_num]['name'] = input("请输入新的姓名:")
 58         info_list[modify_num]['tel'] = input("请输入新的手机号:")
 59         info_list[modify_num]['qq'] = input("请输入新的QQ:")
 60     else:
 61         print("您输入的序号有误,请重新输入")
 62 
 63 #查询学生信息
 64 def search_info():
 65     search_name = input("请输入您要查询的学生姓名:")
 66     for temp_info in info_list:
 67         if temp_info['name'] == search_name:
 68             print("查询到的信息如下:")
 69             print("name:%s,tel:%s,QQ:%s"%(temp_info['name'],temp_info['tel'],temp_info['qq']))
 70             break
 71         else:
 72             print("没有您找的信息...")
 73 #遍历学生信息
 74 def print_all_info():
 75     print("序号\t姓名\t手机号\tQQ\t")
 76     i=0
 77     for temp in info_list:#temp是一个字典
 78         print("%d\t%s\t%s\t%s\t"%(i,temp['name'],temp['tel'],temp['qq']))
 79         i += 1
 80 
 81 #加载之前存储的数据
 82 def save_data():
 83     f = open("info_data.data","w")
 84     f.write(str(info_list))
 85     f.close()
 86 
 87 
 88 def load_data():
 89     global info_list
 90     f = open("info_data.data")
 91     content = f.read()
 92     info_list = eval(content)
 93     f.close()
 94 
 95 #主函数
 96 def main():#控制整个程序的流程
 97     # 1.加载数据
 98     load_data()
 99 
100     while True:
101         #1.打印功能
102         print_memu()
103         # 2.获取用户的选择
104         num = input("请输入要进行的操作(数字):")
105         #3.根据用户的选择,做相应的事
106         if num == "1":
107             #添加学生
108             add_new_info()
109         elif num == "2":
110             #删除学生
111             del_info()
112         elif num == "3":
113              #修改学生
114              modify_info()
115         elif num == "4":
116             #查询学生
117             search_info()
118         elif num == "5":
119             #遍历所有学生信息
120             print_all_info()
121         elif num == "6":
122             #数据保存到文件中
123             save_data()
124         elif num == "7":
125             #退出系统
126             exit_flag = input("亲,您确定要退出了吗?(yes or no)")
127             if exit_flag == "yes":
128                 break
129             else:
130                 print("输入有误,请重新输入。。。")
131 
132             input("\n\n\n按回车键继续。。。")
133             os.system("clear") #调用linux命令完成清屏
134 
135 #程序的开始
136 main()
复制代码

运行效果如下:

 

 ps:不知道啥时候开学,在家懒得不想看,快点开学吧,疫情快点过去,武汉加油!中国加油!

posted @ 2020-12-15 09:32  HackerEarl  阅读(495)  评论(0编辑  收藏  举报