1、需求分析
2、系统设计
3、系统开发必备
4、主函数设计
def main():
while True:
manu()
choice=int(input('请选择0-7选项:\n'))
if choice in [0,1,2,3,4,5,6,7]:
if choice==0:
answer=input('您确定要退出系统吗? y/n\n')
if answer=='y' or answer=='Y':
print('感谢您的使用!!')
break
else:
continue
elif choice==1:
insert()
elif choice==2:
search()
elif choice==3:
delete()
elif choice==4:
modify()
elif choice==5:
sort()
elif choice==6:
total()
elif choice==7:
show()
def insert():
pass
def search():
pass
def delete():
pass
def modify():
pass
def sort():
pass
def total():
pass
def show():
pass
def manu():
print('==========================学生信息管理系统==================================')
print('------------------------------功能菜单------------------------------------')
print('\t\t\t\t\t\t1、录入学生信息')
print('\t\t\t\t\t\t2、查找学生信息')
print('\t\t\t\t\t\t3、删除学生信息')
print('\t\t\t\t\t\t4、修改学生信息')
print('\t\t\t\t\t\t5、排序')
print('\t\t\t\t\t\t6、统计学生总人数')
print('\t\t\t\t\t\t7、显示所有学生信息')
print('\t\t\t\t\t\t0、退出系统')
print('------------------------------------------------------------------------')
if __name__ == '__main__':
main()
5、学生信息维护模块设计
5.1.录入学生信息功能
def insert():
student_list=[]
while True:
id=int(input('请输入ID(如1001):'))
if not id: # id 无内容为Flase, not id 为True,表示id非空
break
name=input('请输入姓名:')
if not name:
break
try:
english=int(input('请输入英语成绩:'))
python = int(input('请输入Python成绩:'))
java = int(input('请输入Java成绩:'))
except:
print('输入无效,不是整数类型,请重新输入:')
continue
# 将录入的学生信息保存到字典中
student={
'id':id,'name':name,'english':english,'python':python,'java':java}
# 将学生信息添加到列表中
student_list.append(student)
answer=input('是否继续添加? y/n\n')
if answer=='y' or answer=='Y':
continue
else:
break
# 调用save()函数
save(student_list)
print('学生信息录入完毕!!')
filename='student.txt'
def save(lst):
try:
stu_txt=open('filename','a',encoding='utf-8')
except:
stu_txt = open('filename', 'w', encoding='utf-8')
for item in lst:
stu_txt.write(str(item)+'\n')
stu_txt.close()
5.2 删除学生信息功能
import os
def delete():
while True:
student_id = int(input('请输入要删除的学生ID:'))
# 判断文件是否存在
if student_id != '':
if os.path.exists(filename):
with open(filename, 'r', encoding='utf-8') as file:
student_old = file.readlines() # 读取学生信息添加为列表
else:
student_old = []
flag = False # 标记是否删除
# 文件存在,将原有内容的覆盖
if student_old: # student_old True
with open(filename, 'w', encoding='utf-8') as wfile:
d = {
}
for item in student_old:
d = dict(eval(item))