学生管理系统
def modify_student_information():
try:
stu_list = eval(open(f'files\{id1}_stu.txt', 'r', encoding='utf-8').read())
except:
stu_list = []
print('没有学生')
num1 = 0
list1 = []
for stu1 in stu_list:
print('学号:', stu1['stu_num'], '姓名:', stu1['name'], '年龄:', stu1['age'], '电话:', stu1['tel'])
num2 = input('请输入要修改的学生学号:')
for i in range(len(stu_list)):
if num2 == stu_list[i]['stu_num']:
new_name = input('请输入姓名:')
new_age = input('请输入年龄:')
new_tel = input('请输入电话号码:')
stu_list[i] = {'stu_num': num2, 'name': new_name, 'age': new_age, 'tel': new_tel}
break
else:
print('没有该学生')
open(f'files\{id1}_stu.txt', 'w', encoding='utf-8').write(str(stu_list))
print('修改成功')
adit_student()
def check_student():
print('==============================================')
print('请选择(1-5):')
print('1.查看所有学生\n2.根据姓名查找\n3.根据学号查找\n4:返回')
sel4 = int(input('请选择:'))
if sel4 == 1:
try:
stu_list = eval(open(f'files\{id1}_stu.txt', 'r', encoding='utf-8').read())
except:
print('没有学生')
stu_list = []
for stu1 in stu_list:
print('学号:', stu1['stu_num'], '姓名:', stu1['name'], '年龄:', stu1['age'], '电话:', stu1['tel'])
check_student()
elif sel4 == 2:
try:
stu_list = eval(open(f'files\{id1}_stu.txt', 'r', encoding='utf-8').read())
except:
stu_list = []
print('没有该学生')
name3 = input('请输入姓名:')
count = 0
for stu1 in stu_list:
if name3 == stu1['name']:
print('学号:',stu1['stu_num'], '姓名:',stu1['name'], '年龄:',stu1['age'], '电话:',stu1['tel'])
count += 1
if count == 0:
print('没有该学生')
check_student()
elif sel4 == 3:
try:
stu_list = eval(open(f'files\{id1}_stu.txt', 'r', encoding='utf-8').read())
except:
stu_list = []
print('没有该学生')
num3 = input('请输入学号:')
for stu1 in stu_list:
if num3 == stu1['stu_num']:
print('学号:', stu1['stu_num'], '姓名:',stu1['name'], '年龄:',stu1['age'], '电话:',stu1['tel'])
break
else:
print('没有该学生')
else:
adit_student()
def delete_student():
print('1.按姓名删\n2.按学号删\n3.返回')
sel5 = int(input('请选择:'))
if sel5 == 1:
name1 = input('请输入要删除的学生名字:')
try:
stu_list = eval(open(f'files\{id1}_stu.txt', 'r', encoding='utf-8').read())
except:
stu_list = []
print('没有学生')
stu_list1 = stu_list[:]
for i in stu_list1:
if name1 == i['name']:
stu_list.remove(i)
open(f'files\{id1}_stu.txt', 'w', encoding='utf-8').write(str(stu_list))
print('删除成功')
elif sel5 == 2:
num1 = input('请输入要删除的学生学号:')
try:
stu_list = eval(open(f'files\{id1}_stu.txt', 'r', encoding='utf-8').read())
except:
stu_list = []
print('没有学生')
for i in stu_list:
if num1 == i['stu_num']:
stu_list.remove(i)
break
open(f'files\{id1}_stu.txt', 'w', encoding='utf-8').write(str(stu_list))
print('删除成功')
elif sel5 == 3:
adit_student()
def add_student():
stu_name = input('请输入学生姓名:')
stu_age = input('请输入年龄:')
stu_tel = input('请输入电话:')
try:
stu = eval(open(f'files\{id1}_stu.txt', 'r', encoding='utf-8').read())
except FileNotFoundError:
stu = []
open(f'files\{id1}_stu.txt', 'w', encoding='utf-8').write(str(stu))
try:
num1 = int(open(r'files\stu_num.txt', 'r', encoding='utf-8').read())
except FileNotFoundError:
num1 = 0
open(r'files\stu_num.txt', 'w', encoding='utf-8').write(str(num1))
open(r'files\stu_num.txt', 'w', encoding='utf-8').write(str(num1+1))
stu_num = f'stu000{num1}'
stu.append({'stu_num': stu_num, 'name': stu_name, 'age': stu_age, 'tel': stu_tel})
open(f'files\{id1}_stu.txt', 'w', encoding='utf-8').write(str(stu))
print('添加成功!')
print('1.继续\n2.返回')
sel3 = int(input('请选择:'))
if sel3 == 1:
add_student()
elif sel3 == 2:
adit_student()
def adit_student():
print('==============================================')
print(f'✿✿欢迎{id1}\n')
print('\t❤ 1. 添加学生\n\t❤ 2. 查看学生\n\t❤ 3. 修改学生信息\n\t❤ 4. 删除学生\n\t❤ 5. 返回')
print('==============================================')
sel2 = int(input('请选择(1-5):'))
if sel2 == 1:
add_student()
elif sel2 == 2:
check_student()
elif sel2 == 3:
modify_student_information()
elif sel2 == 4:
delete_student()
else:
stu_m_s()
def login():
global id1
id1 = input('请输入账号:')
password = input('请输入密码:')
dict0 = {id1: password}
try:
id_pw = eval(open(r'files\account_password.txt', 'r', encoding='utf-8').read())
if len(id_pw) == 0:
print('账号不存在')
for dict1 in id_pw:
if dict0 == dict1:
print('登录成功')
adit_student()
break
else:
print('登录失败!密码错误!')
except FileNotFoundError:
print('账号不存在')
def register():
new_id = input('请输入账号(2~6):')
if 2 <= len(new_id) <=6:
password = input('请输入密码(6~12):')
if 6 <= len(password) <= 12:
try:
id_pw = eval(open(r'files\account_password.txt', 'r', encoding='utf-8').read())
except FileNotFoundError:
id_pw = []
open(r'files\account_password.txt', 'w', encoding='utf-8').write(str(id_pw))
list2 = []
for id_pw1 in id_pw:
for key in id_pw1:
list2.append(key)
if new_id in list2:
print('注册失败!改账号已经注册过!')
else:
id_pw.append({new_id: password})
open(r'files\account_password.txt', 'w', encoding='utf-8').write(str(id_pw))
print('注册成功')
stu_m_s()
else:
print('密码不规范,请重新输入')
register()
else:
print('账号不规范,请重新输入')
register()
def stu_m_s():
print('==============================================')
print(' **欢迎来到学生管理系统**\n')
print(' ♢ 1. 登 录')
print(' ♢ 2. 注 册')
print(' ♢ 3. 退 出')
print('\n\n==============================================')
sel1 = int(input('请选择(1-3):'))
if sel1 == 1:
login()
elif sel1 == 2:
register()
elif sel1 == 3:
print('退出成功')
stu_m_s()