要求:1.拥有一个主页面进行相应功能的操作
2.学生的信息包括学号,班级,姓名(例子:学号:001 班级:201 姓名:小明)
3.功能方面能实现对上述学生信息的增加,查找,修改,删除。
1,使用列表、字典实现学生信息管理系统
mey="""
print('欢迎来到学生信息管理系统!')
print('1,新增学生信息')
print('2,查找学生信息')
print('3,修改学生信息')
print('4,删除学生信息')
print('0,退出学生信息管理系统!')
"""
students=[]
while True:
print(mey)
ch=int(input('请输入您的选择:'))
if ch in[1,2,3,4,0]:
if ch==1:
while True:
print('新增学生信息')
id=int(input('请输入学生ID:'))
name=input('请输入学生姓名:')
grade=input('请输入学生年级:')
stu={'id':id,'name':name,'grade':grade}
students.append(stu)
choice=input('您是否要继续输入?y/n')
if choice=='Y 'or choice=='y':
continue
else:
break
elif ch==2:
print('查找学生信息')
while True:
sh=input('请输入您要查找的方式:姓名(输入1),ID(输入2):')
if sh=='1':
new_name = input('请输入您要查询的学生的姓名:')
flag = True
for new_stu in students:
if new_stu['name'] == new_name:
print('姓名\t\tID\t\t年级\t\t\t')
print(new_stu['name'] + '\t\t' + str(new_stu['id']) + '\t' + new_stu['grade'] + '\t')
flag = False
break
if flag:
print('您查找的姓名不存在!!')
eh = input('您要继续查找吗?y/n')
if eh == 'y' or eh == 'Y':
continue
else:
break
elif sh=='2':
new_ID = int(input('请输入您要查询的学生的ID:'))
flag=True
for new_stud in students:
if new_stud['id'] == new_ID:
print('姓名\t\tID\t\t年级\t\t\t')
print(new_stud['name'] + '\t\t' + str(new_stud['id']) + '\t' + new_stud['grade'] + '\t')
flag = False
break
if flag:
print('您查找的ID不存在!!')
eh = input('您要继续查找吗?y/n')
if eh == 'y' or eh == 'Y':
continue
else:
break
else:
print('您输入的格式不正确,请重新输入')
continue
elif ch==3:
print('修改学生信息')
while True:
hh=input('请输入您要修改的学生姓名(输入1)or ID(输入2):')
if hh=='1':
new_n=input('请输入您要修改学生的姓名:')
flag = True
for student in students:
if student['name']==new_n:
new_name=input('请重新输入学生姓名:')
new_id = input('请重新输入学生ID:')
new_grade = input('请重新输入学生年级:')
student['name']=new_name
student['id']=new_id
student['grade']=new_grade
flag = False
break
if flag:
print('您输入的学生信息不存在!!')
nh=input('您还要继续修改吗?y/n\t')
if nh=='y'or nh=='Y':
continue
else:
break
if hh=='2':
new_n=input('请输入您要修改学生的ID:')
flag = True
for student in students:
if student['id']==new_n:
new_name=input('请重新输入学生姓名:')
new_id = input('请重新输入学生ID:')
new_grade = input('请重新输入学生年级:')
student['name']=new_name
student['id']=new_id
student['grade']=new_grade
flag = False
break
if flag:
print('您输入的学生信息不存在!!')
nh = input('您还要继续修改吗?y/n\t')
if nh == 'y' or nh == 'Y':
continue
else:
break
elif ch==4:
print('删除学生信息')
while True:
fh=input('请输入您要删除学生信息的方式:通过姓名删除(输入1),通过ID删除(输入2):')
if fh=='1':
ll=input('请输入您要删除学生的姓名:')
flag = True
for student_new in students:
if student_new['name']==ll:
students.remove(student_new)
flag = False
break
if flag:
print('未找到您要删除的学生的姓名!')
kn = input('你要重新操作吗?y/n')
if kn == 'y' or kn == 'Y':
continue
else:
break
elif fh=='2':
ll=int(input('请输入您要删除学生的ID:'))
flag = True
for student_newID in students:
if student_newID['id']==ll:
students.remove(student_newID)
flag = False
break
if flag:
print('未找到您要删除的学生的ID!')
kn = input('你要继续删除吗?y/n')
if kn == 'y' or kn == 'Y':
continue
else:
break
else:
print('您输入的格式不正确,请重新输入')
continue
elif ch==0:
print('姓名\t\tID\t\t年级\t\t\t')
for new_student in students:
print(new_student['name']+'\t\t'+str(new_student['id'])+'\t'+new_student['grade'])
print('谢谢您的使用!')
break
else:
print('您输入的选项不存在,请重新输入')
continue
2,利用文件写入、导出实现学生信息管理系统
filename='students.txt'
#学号,姓名,年纪
mey="""
print('欢迎来到学生信息管理系统!')
print('1,新增学生信息')
print('2,查找学生信息')
print('3,修改学生信息')
print('4,删除学生信息')
print('0,退出学生信息管理系统!')
"""
def z():
students = []
while True:
id=int(input('请输入学号:'))
name=input('请输入姓名:')
grade=int(input('请输入年级:'))
student={'id':id,'name':name,'grade':grade}
students.append(student)
with open('students.txt', 'a', encoding="UTF-8") as f:
for i in students:
ss=str(i)
f.write(ss+'\n')
sh=input('是否要继续添加:y/n')
if sh=='y' or sh=='Y':
continue
else:
break
def c():
stu = []
while True:
ch = int(input('请输入您要查找的方式:1.id,2.姓名 '))
if ch == 1:
sh=int(input('请输入您要查找的id:'))
with open(filename, 'r', encoding="UTF-8") as oo:
flag = True
name=oo.readlines()
for i in name:
d=dict(eval(i))
if sh==d['id']:
stu.append(d)
print(f"id={d['id']},name={d['name']},grade={d['grade']}")
stu.clear()
flag=False
break
if flag:
print('您查找的数据不存在!!')
sh = input('是否要继续查找:y/n')
if sh == 'y' or sh == 'Y':
continue
else:
break
else:
sh = input('请输入您要查找的姓名:')
with open(filename, 'r', encoding="UTF-8") as oo:
flag = True
name = oo.readlines()
for i in name:
d = dict(eval(i))
if sh == d['name']:
stu.append(d)
print(f"id={d['id']},name={d['name']},grade={d['grade']}")
stu.clear()
flag = False
break
if flag:
print('您查找的数据不存在!!')
sh = input('是否要继续查找:y/n')
if sh == 'y' or sh == 'Y':
continue
else:
break
def s():
while True:
ch = int(input('请输入您要删除的方式:1.id,2.姓名 '))
if ch == 1:
sh=int(input('请输入您要删除的学生信息id'))
with open(filename, 'r', encoding="UTF-8") as oo:
flag = True
d=oo.readlines()
with open (filename, 'w', encoding="UTF-8")as yy:
for i in d:
n=dict(eval(i))
if n['id'] != sh:
yy.write(str(n) + '\n')
else:
print("您已成功删除!!")
flag = False
break
if flag:
print('您要删除的学生信息不存在!!')
sh = input('是否要继续删除:y/n')
if sh == 'y' or sh == 'Y':
continue
else:
break
else:
sh = input('请输入您要删除的学生姓名')
with open(filename, 'r', encoding="UTF-8") as oo:
flag = True
id = oo.readlines()
with open(filename,'w',encoding="UTF-8")as yy:
for i in id:
n = dict(eval(i))
if sh != n['name']:
yy.write(str(n))
else:
print("您已成功删除!!")
flag = False
break
if flag:
print('您要删除的学生信息不存在!!')
sh = input('是否要继续删除:y/n')
if sh == 'y' or sh == 'Y':
continue
else:
break
def x():
while True:
ch=int(input('请输入您要修改信息的方式 1.学号,2.姓名'))
if ch==1:
sh=int(input('请输入您要修改的学生id:'))
with open (filename, 'r', encoding="UTF-8" )as oo:
d=oo.readlines()
flag=True
with open(filename, 'w', encoding="UTF-8") as yy:
for i in d:
s=dict(eval(i))
if s['id']==sh:
s['id']=int(input('请输入修改后的id:'))
s['name']=input('请输入修改后的姓名:')
s['grade']=int(input('请输入修改后的年级:'))
yy.write(str(s)+'\n')
flag=False
else:
yy.write(str(s))
if flag:
print('您要修改的学生信息不存在!!')
sh = input('是否要继续修改:y/n')
if sh == 'y' or sh == 'Y':
continue
else:
break
else:
sh = input('请输入您要修改的学生姓名:')
with open(filename, 'r', encoding="UTF-8") as oo:
d = oo.readlines()
flag = True
with open(filename, 'w', encoding="UTF-8") as yy:
for i in d:
s = dict(eval(i))
if s['name'] == sh:
s['id'] = int(input('请输入修改后的id:'))
s['name'] = input('请输入修改后的姓名:')
s['grade'] = int(input('请输入修改后的年级:'))
yy.write(str(s) + '\n')
flag = False
else:
yy.write(str(s))
if flag:
print('您要修改的学生信息不存在!!')
sh = input('是否要继续修改:y/n')
if sh == 'y' or sh == 'Y':
continue
else:
break
while True:
print(mey)
ch=int(input('请输入您的选择'))
if ch==1:
print('新增学生信息')
z()
elif ch==2:
print('查找学生信息')
c()
elif ch==3:
print('修改学生信息')
x()
elif ch==4:
print('删除学生信息')
s()
else:
print('退出学生信息管理系统,感谢您的使用!')
break