一、需求
MIS---学生信息管理,包括添加、删除、修改、遍历、排序、统计和退出系统的功能,并且把信息储存在本地的磁盘中(这里我将信息保存在了一个名为Stuinformation.txt的文本文件中,数据较大时,可可储存在数据库中)。
二、代码编写
-
meau()函数,用于展示功能菜单
def meau(): print("\t\t\t1:添加用户 ") # 功能选择 print("\t\t\t2:删除用户 ") print("\t\t\t3:修改用户 ") print("\t\t\t4:遍历用户 ") print("\t\t\t5:排序用户 ") print("\t\t\t6:统计用户 ") print("\t\t\t0:退出系统 ") print('=====' * 8)
- find()函数,用于将输入的用户与本地保存的数据进行对比,判断是否存在
def find(sid): #用于查找用户 T = False with open('Stuinformation.txt','r+',encoding='utf-8')as lf: dic = {} # 定义空字典 if not lf.read(): #文件没有内容 T = True else: with open('Stuinformation.txt', 'r+', encoding='utf-8')as lf:#打开文件 for list in lf: dic = dict(eval(list)) # 字符串转字典 if str(dic['学号']) == str(sid): #判断 T = True break else: T = False return T
- save()函数,用于新的列表存储在文件中
def save(lis): #用于储存用户信息 with open('Stuinformation.txt','w',encoding='utf-8')as f: for i in lis: f.write(str(i) + "\n") print("保存成功")
-
addstudent()函数,用于添加用户信息到文件中
def addstudent():#添加用户函数 lis = [] global flag #标志 flag = True dic1 = {} with open('Stuinformation.txt', 'r+', encoding='utf-8')as lf: for line in lf: if len(line) == '':#判断文件是不是为空 break else: # with open('Stuinformation.txt', 'r+', encoding='utf-8')as lf: # for list in lf: dic1 = dict(eval(line))#将读出的数据转化为字典 lis.append(dic1) #添加到列表 while flag: try: #检测输入异常 sid = int(input("请输入学生的学号(0-100):")) # 此时需要判断 列表中是否为空 为空直接添加 age = int(input("请输入学生的年龄(0-100)")) except: print("输入的不是正整数,重新输入:") co