考核点 :函数+文件处理+学生管理系统
考核内容 :
学生管理系统:
1、添加学生功能
2、删除学生功能
3、查看所有学生功能
4、退出系统功能
数据结构:
students = ['学生名1','学生名2'...]
实现数据持久化:
第一次操作完退出系统,下次进来的时候,
上次操作完的数据依旧存在(退出前,先保存数据,
登陆时,先加载上次保存的数据<如果文件存在再加
载>)
(注意不同功能尽量使用函数封装)
import os
#存储所有学生
students = []
#控制循环结束的变量
end = False
#存储数据的文件名字
fileName = 'student.txt'
#展示主菜单
def showMenu():
print("1.添加学生")
print("2.删除学生")
print("3.展示所有")
print("4.退出系统")
#添加学生
def addStudent(stu):
students.append(stu)
#判断是否包含学生
def hasStu(stu):
return stu in students
#删除学生
def delStu(stu):
if hasStu(stu):
students.remove(stu)
#展示所有学生
def showAllStudent():
print(students)
#系统退出
def systemExit():
print("谢谢使用")
global end
end = True
#从文件中加载数据 返回加载得到的列表
def loadData(fileName):
#如果文件存在
if os.path.exists(fileName):
file = open(fileName,'r',encoding='utf-8')
#读取所有数据
stus = file.read()
#使用换行符分割字符串
stus = stus.split('\n')
#删除最后一个元素(最后一个元素为换行符)
stus.pop()
file.close()
return stus
#如果文件不存在,返回空列表
else:
return []
#将数据写入到文件中
def saveData(fileName):
file = open(fileName,'w',encoding='utf-8')
for i in range(len(students)):
file.write(students[i]+'\n')
file.flush()
file.close()
#程序开始的时候,先从文件中加载之前数据
students = loadData(fileName)
while not end:
showMenu()
choice = input("请选择 1-4:")
if choice == '1':
stu = input("请输入学生姓名:")
addStudent(stu)
print("添加成功")
elif choice == '2':
stu = input("请输入学生姓名:")
delStu(stu)
elif choice == '3':
showAllStudent()
elif choice == '4':
#退出程序的时候,保存文件
saveData(fileName)
systemExit()
over......
备案号:湘ICP备19000029号
Copyright © 2018-2019 javaxl晓码阁 版权所有