|
本文介绍了一个简单的学生信息管理系统,包括管理员登录、重置学生密码、添加、删除和修改学生信息、查询学生信息以及对学生成绩进行排序等功能。该系统使用Python编写,基于控制台交互
实现思路
该系统分为两个部分,管理员登录和学生信息管理。在管理员登录时,程序会要求用户输入用户名和密码进行身份验证;验证通过后,进入到学生信息管理界面。学生信息管理界面提供了多种操作方式,包括重置学生密码、添加、删除和修改学生信息、查询学生信息以及对学生成绩进行排序等功能。
在实现过程中,我们使用了文件存储学生信息,其中每一行代表一个学生的信息,各字段之间以逗号分隔。在对学生成绩进行排序时,我们计算每个学生的平均分,并将其作为排序依据。
代码实现
登录界面
- # 登录界面
- def login():
- print("欢迎使用学生信息管理系统") # 打印欢迎信息
- while True: # 一直循环直到输入正确的角色类型
- role = input("请输入登录角色(1-学生,2-管理员):") # 输入角色类型
- if role == '1': # 如果输入是学生
- student_login() # 转到学生登录函数
- break # 结束循环
- elif role == '2': # 如果输入是管理员
- admin_login() # 转到管理员登录函数
- break # 结束循环
- else:
- print("输入有误,请重新输入") # 提示输入错误,重新输入
复制代码 执行效果
学生登录
- # 学生登录
- def student_login():
- while True: # 一直循环直到输入正确的账号和密码
- account = input("请输入账号:") # 输入账号
- password = input("请输入密码:") # 输入密码
- with open('xs.txt', 'r', encoding='utf-8') as f: # 打开存放学生信息的文件
- for line in f: # 遍历所有行
- data = line.strip().split() # 分隔每行数据
- 姓名 = data[0].split(':')[1].strip() # 获取姓名
- 学号 = data[1].split(':')[1].strip() # 获取学号
- 账号 = data[2].split(':')[1].strip() # 获取账号
- 密码 = data[3].split(':')[1].strip() # 获取密码
- if 账号 == account and 密码 == password: # 如果账号和密码匹配
- print(f"欢迎登陆,{姓名}同学!") # 打印欢迎信息
- student_menu(account) # 转到学生菜单函数
- return # 结束函数
- print("账号或密码错误,请重新输入") # 提示输入错误,重新输入
复制代码 执行效果
学生菜单
- # 学生菜单
- def student_menu(account):
- while True: # 一直循环直到选择退出系统或者退回登录界面
- print("""
- ================
- 1. 查看所有学生信息
- 2. 查询个人信息
- 3. 退回登录界面
- 0. 退出系统
- ================
- """) # 打印菜单
- choice = input("请输入您的选择:") # 输入选项
- if choice == "1": # 如果输入为 1
- show_all_students() # 转到显示所有学生信息函数
- elif choice == "2": # 如果输入为 2
- show_student_info() # 转到显示个人信息函数
- elif choice == "3": # 如果输入为 3
- login() # 返回登陆
- elif choice == "0": # 如果输入为 0
- print("感谢使用本系统,再见!") # 打印欢送信息
- exit() # 退出程序
- else:
- print("输入有误,请重新输入!") # 提示输入错误,重新输入
复制代码 执行效果
展示所有学生信息
[code]# 展示所有学生信息def show_all_students(): with open('xinxi.txt', 'r',encoding='utf-8') as f: # 打开存放学生信息的文件 lines = f.readlines() # 读取所有行 if len(lines) == 0: # 如果文件为空 print("暂无学生信息") # 打印提示信息 return # 结束函数 header = "{: |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|