赞
踩
def main(): # 读主页的页面内容 page = read_txt_file('files/homePage') while True: # 欢迎页面 print(page) # 选择提示 value = input('请输入(1-3):') # 根据选择完成不同的功能 if value == '1': # print('登录') login() elif value == '2': # print('注册') register() elif value == '3': print('退出') break else: print('输入有误!') def register(): # 输入账号和密码 user_name = input('请输入账号:') password = input('请输入密码:') # 获取之前已经注册过的所有的账号信息 all_user = eval(read_txt_file('files/user.txt')) # 判断该账号是否已经注册过 if user_name in all_user: print('注册失败!改账号已经注册过!') return # 保存账号信息 all_user[user_name] = password write_txt_file('files/user.txt', str(all_user)) print('注册成功!') def login(): # 输入账号和密码 user_name = input('请输入账号:') password = input('请输入密码:') # 获取已经注册过的所有账号信息 all_user = eval(read_txt_file('files/user.txt')) # 判断是否已经注册过 if user_name not in all_user: print('登录失败!该账号没有注册!') return # 判断密码是否匹配 if all_user[user_name] != password: print('登录失败! 密码错误!') return print('登录成功!') # 进入学生管理系统 stuentSystem.user_name = user_name stuentSystem.show_manager_page() if __name__ == '__main__': main()
def read_json_file(path: str): """ 读json文件中的数据 :param path: 文件路径 :return: json文件中数据对应的python数据 """ try: with open(path, encoding='utf-8') as f: return json.loads(f.read()) except FileNotFoundError: print('文件找不到!') return None except json.decoder.JSONDecodeError: print('json解析失败') return None def write_json_file(path: str, data): """ 将python数据直接写入json文件中 :param path: 文件路径 :param data: 被写入的数据 :return: 是否写入成功 """ try: with open(path, 'w', encoding='utf-8') as f: f.write(json.dumps(data)) return True except FileNotFoundError: print('路径中的文件夹不存在') return False except TypeError: print(f'{data}不能转换成json数据') return False
""" 存储数据的设计方案: 每个用户对应一个json文件, 每个json中: { "all_student": [ {"study_id": "stu0001", "name": "小明", "age": 18, "tel": '17283'} ], "add_count": 0 } """ user_name = None def show_manager_page(): manage_page = read_txt_file('files/student_manage_page') while True: print(manage_page % user_name) value = input('请选择(1~5):') if value == '1': # print('添加') add_student() elif value == '2': # print('查看') find_student() elif value == '3': # print('修改') change_student_info() elif value == '4': # print('删除') delete_student() elif value == '5': # print('返回') break else: print('输入有误请重新选择!') def add_student(): while True: # 输入学生信息 stu_name = input('请输入学生姓名:') stu_age = int(input('请输入学生的年龄:')) stu_tel = input('请输入学生的电话:') # 保存学生信息 # 1)获取当前账号对应的文件中内容 result = read_json_file(f'files/{user_name}.json') if not result: result = {'all_student': [], 'add_count': 0} # 2) 创建学生对应的字典 result['add_count'] += 1 study_id = f'stu{result["add_count"]:0>4}' stu = {'study_id': study_id, 'name': stu_name, 'age': stu_age, 'tel': stu_tel} # 3) 添加学生并保存 result['all_student'].append(stu) is_succeed = write_json_file(f'files/{user_name}.json', result) if is_succeed: print('添加成功!!!') else: print('添加失败!!!') # 给出选择 print('1. 返回 2(其他).继续') value = input('请选择(1~2:)') if value == '1': break def find_student(): # 1.读文件获取所有的学生 result = read_json_file(f'files/{user_name}.json') if not result: print('该账号没有可管理的学生,请先添加学生!') return all_student = result['all_student'] # 2.给出选择 print('1.查看所有学生信息\n2.根据姓名查看学生\n3.根据学号查看学生信息\n4.返回') value = input('请选择(1~4):') if value == '1': for stu in all_student: print(stu) print() elif value == '2': pass elif value == '3': pass else: return def change_student_info(): pass def delete_student(): # 获取所有学生 result = read_json_file(f'files/{user_name}.json') if not result: print('该账号没有可管理的学生,请先添加学生!') return all_student = result['all_student'] if not all_student: print('该账号没有可管理的学生,请先添加学生!') return # 给出选择 print('1.按姓名删除\n2.按学号删除\n其他:返回') value = input('请选择:') if value == '1': # 输入需要删除的学生的姓名 del_name = input('请输入学生的姓名:') # 获取所有需要删除的学生对应的字典 del_students = [] for stu in all_student: if stu['name'] == del_name: del_students.append(stu) if not del_students: print('没有该学生!') return # 以序号的方式显示所有可能需要删除的学生信息 for index, stu in enumerate(del_students): print(index, stu) # 按标号删除学生 num = input(f'请输入需要删除的学生的标号(0~{len(del_students)-1}),q-返回:') try: num = int(num) if 0 <= num < len(del_students): all_student.remove(del_students[num]) is_succeed = write_json_file(f'files/{user_name}.json', result) if is_succeed: print("删除成功!") else: print('删除失败!') else: return except ValueError: return elif value == '2': pass else: return
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。