"""
Author:泽万
Time:2021/12/16 20:08
"""
import os
def establish():
if os.path.exists(r'./files'):
pass
else:
os.makedirs(r'./files')
def create_a_document():
try:
open('files/mima.txt')
except:
open('files/mima.txt', 'w', encoding='utf-8').write(str([]))
try:
open('files/chakan.txt')
except:
open('files/chakan.txt', 'w', encoding='utf-8').write("""-----查看学生-----
◇ 1.查看全部学生
◇ 2.输入名字查看
◇ 3.输入学号查看
◇ 其他:返回
""")
try:
open('files/count.txt')
except:
open('files/count.txt', 'w', encoding='utf-8').write(str(0))
try:
open('files/fuhao.txt')
except:
open('files/fuhao.txt', 'w', encoding='utf-8').write("""=====================================
**欢迎来到学生登录系统**
◇ 1. 登 录
◇ 2. 注 册
◇ 3. 退 出
=====================================
""")
try:
open('files/fuhao1.txt')
except:
open('files/fuhao1.txt', 'w', encoding='utf-8').write("""===================================
❀ ❀ 欢迎%s:
◇ 1. 添加学生
◇ 2. 查看学生
◇ 3. 修改学生
◇ 4. 删除学生
◇ 5. 返 回
===================================
""")
try:
open('files/shanchu.txt')
except:
open('files/shanchu.txt', 'w', encoding='utf-8').write("""◇ 1.姓名查找
◇ 2.学号查找
◇ 其他:返回
""")
def enter():
f = eval(open('files/mima.txt', encoding='utf-8').read())
account_number = input('输入账号:')
for i in f:
if i['register'] == account_number:
break
else:
print('账号不存在!')
return
password = input('请输入密码:')
if password == i['password']:
print('登录成功。')
f1 = open('files/fuhao1.txt', encoding='utf-8').read()
while True:
print(f1 % account_number)
x = input('请输入要进入的系统:')
if x == '1':
print('添加信息')
f2 = eval(open('files/count.txt', encoding='utf-8').read())
f2 += 1
student_number = 'stu' + str(f2).zfill(4)
open('files/count.txt', 'w', encoding='utf-8').write(str(f2))
name = input('请输入姓名:')
while True:
try:
age1 = int(input('请修改年龄:'))
if 0 < age1 <= 150:
age = age1
break
else:
print('年龄不在合法范围。')
except ValueError:
print('输入有误,应该输入正整数。')
while True:
tel1 = input('请修改电话:')
if tel1.isdigit() and (4 <= len(tel1) <= 8 or len(tel1) == 11):
tel = tel1
break
else:
print('请输入正确的位数')
i["student"].append({'student_number': student_number, 'name': name, 'age': age, 'tel': tel})
open('files/mima.txt', 'w', encoding='utf-8').write(str(f))
print('添加成功。')
elif x == '2':
print('查询信息')
while True:
print(open('files/chakan.txt', encoding='utf-8').read())
num1 = input('请输入(1-3):')
if num1 == '1':
for j in i["student"]:
print(f"学号:{j['student_number']} 名字:{j['name']} 年龄:{j['age']} 电话:{j['tel']}", sep='')
elif num1 == '2':
name1 = input('请输入姓名:')
for j in i["student"]:
if j['name'] == name1:
print(f"学号:{j['student_number']} 名字:{j['name']} 年龄:{j['age']} 电话:{j['tel']}", sep='')
elif num1 == '3':
student_number1 = input('请输入学号:')
for j in i['student']:
if j['student_number'] == student_number1:
print(f"学号:{j['student_number']} 名字:{j['name']} 年龄:{j['age']} 电话:{j['tel']}", sep='')
else:
break
elif x == '3':
print('修改信息')
name = input('请输入要修改人的姓名:')
subscript = []
s = 0
for xx in i["student"]:
if name == xx['name']:
subscript.append(i["student"].index(xx))
print(f"标号:{s} 学号:{xx['student_number']} 名字:{xx['name']} 年龄:{xx['age']} 电话:{xx['tel']}",
sep='')
s += 1
if subscript:
while True:
grade = input('(输入STOP返回)请输入标号修改:')
if grade == 'STOP':
break
try:
v = i["student"][subscript[int(grade)]]
except ValueError:
print('输入有误!')
continue
name = input('请修改姓名:')
v['name'] = name
while True:
try:
age = int(input('请修改年龄:'))
if 0 < age <= 150:
v['age'] = age
break
else:
print('年龄不在合法范围。')
except ValueError:
print('输入有误,应该输入正整数。')
while True:
tel = input('请修改电话:')
if tel.isdigit() and (4 <= len(tel) <= 8 or len(tel) == 11):
v['tel'] = tel
break
else:
print('请输入正确的位数')
open('files/mima.txt', 'w', encoding='utf-8').write(str(f))
print('修改完毕!')
break
else:
print('查无此人。')
elif x == '4':
print('删除信息')
while True:
print(open('files/shanchu.txt', encoding='utf-8').read())
num = input('请输入(1&2):')
if num == '1':
name = input('请输入姓名:')
subscript = []
s = 0
for x in i["student"]:
if name == x['name']:
subscript.append(i["student"].index(x))
print(f"标号:{s} 学号:{x['student_number']} 名字:{x['name']} 年龄:{x['age']} 电话:{x['tel']}",
sep='')
s += 1
if subscript:
while True:
grade = input('(输入STOP返回)请输入标号删除:')
if grade == 'STOP':
break
try:
del i["student"][subscript[int(grade)]]
open('files/mima.txt', 'w', encoding='utf-8').write(str(f))
print('删除完毕!')
break
except (IndexError, ValueError):
print('输入有误。')
else:
print('查无此人。')
elif num == '2':
name = input('请输入学号:')
for x in i["student"]:
if name == x['student_number']:
del x
print('删除完毕。')
else:
break
elif x == '5':
print('返回!')
break
else:
print('密码错误。')
def register():
f = eval(open('files/mima.txt', encoding='utf-8').read())
register = input('请输入账户名字:')
if register in [i['register'] for i in f]:
print('账号已经存在。')
return
password = input('请输入密码(6~12位):')
if 6 <= len(password) <= 12:
f.append({'register': register, 'password': password, 'student': []})
open('files/mima.txt', 'w', encoding='utf-8').write(str(f))
print('注册成功。')
else:
print('密码位数不合法!')
def login_system():
establish()
create_a_document()
s = open('files/fuhao.txt', encoding='utf-8').read()
while True:
print(s)
num1 = input('☆请选择要进入的系统(1-3):')
if num1 == '1':
print('-----登录-----')
enter()
elif num1 == '2':
print('-----注册-----')
register()
elif num1 == '3':
print('感谢使用登录系统。')
print('正在退出……')
break
else:
print()
print('输入超出范围。')
print('请重新输入。')
login_system()