学生管理系统临时
'''__author__==fubo'''
'''
'''
def student_boundary():
print('==========================')
print('欢迎进入XXX学生管理系统')
print('1.添加学生\n2.查看学生\n3.删除学生\n4.修改学生信息\n0.退出')
print('==========================')
mul1=input_value = input('请输入:')
return mul1
def manage_list(name,password):
list1 = [] # 管理员列表
dict2 = {} # 管理员信息字典
dict2['name'] = name
dict2['password'] = password
list1.append(dict2)
return list1
def manage_list2(name,id,age,tel):
list1 = [] # 管理员列表
dict2 = {} # 管理员信息字典
dict2['student_name'] = name
dict2['student_id'] = id
dict2['student_age'] = age
dict2['student_tel'] = tel
list1.append(dict2)
return list1
import doc
if __name__ == '__main__':
print('***********************************')
print('1.登录')
print('2.注册')
print('3.退出')
print('***********************************')
# 模块1 manage管理 列表 字典
num1=input('请选择操作:')
flage=False
flage1= False
flage2=False
while True:
if num1=='1':
print('请登录')
user_name=input('请输入姓名:')
password= input('请输入密码:')
try:
dict1 = doc.json_r_doc('./files/manage.json')
dict1=doc.json_loads_doc(dict1)
num2=0
for item in dict1['all_manage']:
if item['name']==user_name and item['password']==password:
print('登录成功')
num2=0
flage=True
break
if item['name'] != user_name :
num2 += 1
if num2 == len(dict1['all_manage']):
print('系统没有该用户,请注册')
num1 = input('>>>')
elif num2!=0:
print('登录有误,请重新登录')
num1 = '1'
continue
elif num2==0:
break
except:
print('该用户不存在,请注册')
num1=2
# global flage1
flage1 = True #判断管理字典为空
num1 = input('同意注册请输入2,重新登录请输入1')
continue
if num1 == '2':
try:
dict1 = doc.json_r_doc('./files/manage.json')
flage1=False
except:
flage1=True
if flage1 :
print('感谢您第一个登录')
name=input('请输入姓名:')
password=input('请输入密码:')
# global dict1
dict1 = {} # 最外层字典
dict1['all_manage']=manage_list(name,password)
doc.json_w_doc('./files/manage.json', doc.json_dumps_doc(dict1))
flage1=False
num1=input('>>>')
continue
else:
print("请注册")
name = input('请输入姓名:')
password = input('请输入密码:')
dict1 = doc.json_r_doc('./files/manage.json')
dict2 = {} # 管理员信息字典
dict2['name'] = name
dict2['password'] = password
dict1=doc.json_loads_doc(dict1)
dict1['all_manage'].append(dict2)
doc.json_w_doc('./files/manage.json', doc.json_dumps_doc(dict1))
num1 = input('>>>')
continue
if num1 == '3':
print('操作结束,欢迎下次登录')
flage=False
break
num4=0
while flage:
try:
dict3 = doc.json_r_doc('./files/student.json')
num3 = 1
except:
num3 = 0
mul1 = student_boundary()
if flage2:
print('欢迎下次登录')
break
while True:
if mul1=='0':
flage2=True
break
if mul1=='1':
num4+=1
if num3==0:
print("学生管理系统为空,请输入学生信息")
dict3={}
add_name = input('姓名:')
add_age = input('年龄:')
add_tel = input('电话:')
# 产生学号
add_id = 'py1805' + str(num4).rjust(3, '0')
dict3['all_student']=manage_list2(add_name,add_id,add_age,add_tel)
doc.json_w_doc('./files/student.json', doc.json_dumps_doc(dict3))
print('添加成功')
num3=1
print('1.继续添加')
print('2.返回首页')
mul5 = input('>>>')
if mul5 == '1':
mul1 = '1'
continue
elif mul5 == '2':
break
else:
print('没有该选项,请返回首页,并严格按照要求进行输入,错误操作将退出系统')
mul6 = input('希望留在添加页面请输入1,返回首页请输入2:')
if mul6 == '1':
mul1 = '1'
continue
elif mul6 == '2':
break
else:
mul1 = '0'
continue
else:
print('添加学生:')
dict4={}
add_name = input('姓名:')
add_age = input('年龄:')
add_tel = input('电话:')
# 产生学号
add_id = 'py1805' + str(num4).rjust(3, '0')
num4+=1
dict3 = doc.json_loads_doc(dict3)
dict4['student_name'] = add_name
dict4['student_id'] = add_id
dict4['student_age'] = add_age
dict4['student_tel'] = add_tel
dict3['all_student'].append(dict4)
dict3=doc.json_dumps_doc(dict3)
doc.json_w_doc('./files/student.json', dict3)
print('添加成功')
print('1.继续添加')
print('2.返回首页')
mul5 = input('>>>')
if mul5 == '1':
mul1 = '1'
continue
elif mul5 == '2':
break
else:
print('没有该选项,请返回首页,并严格按照要求进行输入,错误操作将退出系统')
mul6 = input('希望留在添加页面请输入1,返回首页请输入2:')
if mul6 == '1':
mul1 = '1'
continue
elif mul6 == '2':
break
else:
mul1 = '0'
continue
if mul1 == '2':
print('查看学生')
print('1.查看所有的学生信息')
print('2.根据学生姓名查看学生信息')
print('3.根据学生学号查看学生信息')
print('4.返回上一层')
find_input = input('>>>')
if find_input == '4':
break
'''拿到所有的学生'''
dict3 = doc.json_r_doc('./files/student.json')
dict3=doc.json_loads_doc(dict3)
all_students =dict3['all_student']
'''系统还没有添加过学生'''
# or 和and的短路操作
if (not all_students) or (not len(all_students)):
print('系统中没有学生')
continue
# 查看所有学生信息
if find_input == '1':
'''有学生的时候'''
for student in all_students:
print('姓名:%s,年龄:%s,电话:%s,学号:%s' % \
(student['student_name'], student['student_age'], student['student_tel'], \
student['student_id']))
# 根据学生姓名查找
elif find_input == '2':
find_name = input('请输入要查看的学生的名字')
flag = True # 是否找不到学生
for student in all_students:
if find_name == student['student_name']:
print('姓名:%s,年龄:%s,电话:%s,学号:%s' % \
(student['student_name'], student['student_age'], student['student_tel'], \
student['student_id']))
flag = False
if flag:
print('找不到该学生信息')
# 根据学生学号查找
elif find_input == '3':
find_id = input('请输入要查看的学生的id')
flag = True
for student in all_students:
if find_id == student['student_id']:
print('姓名:%s,年龄:%s,电话:%s,学号:%s' % \
(student['student_name'], student['student_age'], student['student_tel'], \
student['student_id']))
flag = False
if flag:
print('找不到该学生信息')
# 返回上一层
else:
pass
continue
if mul1 == '3':
print('1.按姓名删除学生')
print('2.按学号删除学生')
print('3.返回')
del_input = input("请输入(1,2,3)")
if del_input == '3':
break
# 把所有学生找出来
dict3 = doc.json_r_doc('./files/student.json')
dict3 = doc.json_loads_doc(dict3)
all_students = dict3['all_student']
if (not all_students) or (not len(all_students)):
print('该系统没有学生')
break
if del_input == '1':
list2 = []
del_name = input('请输入要删除学生的姓名')
for student in all_students:
if del_name == student['student_name']:
# 保存可能要删除的学生
list2.append(student)
if not len(list2):
print('没有找到匹配的学生')
continue
for x in range(len(list2)):
print(x, list2[x])
del_num = int(input('请选择要删除的学生的编号:'))
del_student = list2[del_num]
dict3['all_student'].remove(del_student)
doc.json_w_doc('./files/student.json', doc.json_dumps_doc(dict3))
if del_input == '2':
find_number = input('请输入要删除学生的学号')
num = 0
for student in all_students[:]:
if find_number == student['student_id']:
all_students.remove(student)
num += 1
dict3['all_student']=all_students
doc.json_w_doc('./files/student.json', doc.json_dumps_doc(dict3))
if num == 0:
print('没有找到匹配的学生')
continue
continue
if mul1 == '4':
print('1.按姓名修改学生')
print('2.按学号修改学生')
print('3.返回')
dict3 = doc.json_r_doc('./files/student.json')
dict3 = doc.json_loads_doc(dict3)
all_students = dict3['all_student']
if (not all_students) or (not len(all_students)):
print('系统没有任何学生信息')
break
input_num = input('请选择查询方式:')
if input_num == '1':
find_name = input('请输入将要修改学生的名字:')
list3 = []
num8 = 0
for student in all_students:
if find_name == student['student_name']:
list3.append(student)
num8 += 1
if num8 == 0:
print('没有找到匹配的学生:')
continue
for x in range(len(list3)):
print(x, list3[x])
find_num = int(input('请选择要修改的学生:'))
while True:
find_type = input('请选择要修改的项')
values = input('请输入修改内容:')
num6 = 0
for student in all_students:
if student == list3[find_num]:
student[find_type] = values
num6 += 1
dict3['all_student']=all_students
doc.json_w_doc('./files/student.json', doc.json_dumps_doc(dict3))
break
if num6 == 0:
print('没有找到匹配的项')
continue
if input_num == '2':
num7 = 0
find_id = input('请输入将要修改学生的学号:')
for student in all_students:
if student['student_id'] == find_id:
print('已找到该学生:')
update_key = input('请输入修改项:')
update_value = input('请输入修改值:')
student[update_key] = update_value
num7 += 1
dict3['all_student'] = all_students
doc.json_w_doc('./files/student.json', doc.json_dumps_doc(dict3))
if num7 == 0:
print('没有找到匹配的学生')
continue
if input_num == '3':
break
结果:
D:\Python项目\Day5-练习和列表\code\venv\Scripts\python.exe D:/Python项目/学生管理系统/code/main.py
1.登录
2.注册
3.退出
请选择操作:1
请登录
请输入姓名:we
请输入密码:123
登录成功
==========================
欢迎进入XXX学生管理系统
1.添加学生
2.查看学生
3.删除学生
4.修改学生信息
0.退出
==========================
请输入:1
添加学生:
姓名:we
年龄:123
电话:4
添加成功
1.继续添加
2.返回首页
1
添加学生:
姓名:we
年龄:242
电话:353
添加成功
1.继续添加
2.返回首页
2
==========================
欢迎进入XXX学生管理系统
1.添加学生
2.查看学生
3.删除学生
4.修改学生信息
0.退出
==========================
请输入:4
1.按姓名修改学生
2.按学号修改学生
3.返回
请选择查询方式:1
请输入将要修改学生的名字:we
0 {'student_name': 'we', 'student_id': 'py1805001', 'student_age': '12', 'student_tel': '345'}
1 {'student_name': 'we', 'student_id': 'py1805001', 'student_age': '34', 'student_tel': '56'}
2 {'student_name': 'we', 'student_id': 'py1805001', 'student_age': '123', 'student_tel': '4'}
3 {'student_name': 'we', 'student_id': 'py1805003', 'student_age': '242', 'student_tel': '353'}
请选择要修改的学生:0
请选择要修改的项student_age
请输入修改内容:12
1.按姓名修改学生
2.按学号修改学生
3.返回
请选择查询方式:2
请输入将要修改学生的学号:py1805003
已找到该学生:
请输入修改项:age
请输入修改值:100
已找到该学生:
请输入修改项:student_age
请输入修改值:100
1.按姓名修改学生
2.按学号修改学生
3.返回
请选择查询方式:3
==========================
欢迎进入XXX学生管理系统
1.添加学生
2.查看学生
3.删除学生
4.修改学生信息
0.退出
==========================
请输入:0
==========================
欢迎进入XXX学生管理系统
1.添加学生
2.查看学生
3.删除学生
4.修改学生信息
0.退出
==========================
请输入:0
欢迎下次登录
Process finished with exit code 0