翼度科技»论坛 编程开发 python 查看内容

使用Python实现学生信息管理系统

5

主题

5

帖子

15

积分

新手上路

Rank: 1

积分
15
本文介绍了一个简单的学生信息管理系统,包括管理员登录、重置学生密码、添加、删除和修改学生信息、查询学生信息以及对学生成绩进行排序等功能。该系统使用Python编写,基于控制台交互
实现思路

该系统分为两个部分,管理员登录和学生信息管理。在管理员登录时,程序会要求用户输入用户名和密码进行身份验证;验证通过后,进入到学生信息管理界面。学生信息管理界面提供了多种操作方式,包括重置学生密码、添加、删除和修改学生信息、查询学生信息以及对学生成绩进行排序等功能。
在实现过程中,我们使用了文件存储学生信息,其中每一行代表一个学生的信息,各字段之间以逗号分隔。在对学生成绩进行排序时,我们计算每个学生的平均分,并将其作为排序依据。
代码实现

登录界面
  1. # 登录界面
  2. def login():
  3.     print("欢迎使用学生信息管理系统") # 打印欢迎信息
  4.     while True: # 一直循环直到输入正确的角色类型
  5.         role = input("请输入登录角色(1-学生,2-管理员):") # 输入角色类型
  6.         if role == '1': # 如果输入是学生
  7.             student_login() # 转到学生登录函数
  8.             break # 结束循环
  9.         elif role == '2': # 如果输入是管理员
  10.             admin_login() # 转到管理员登录函数
  11.             break # 结束循环
  12.         else:
  13.             print("输入有误,请重新输入") # 提示输入错误,重新输入
复制代码
执行效果


学生登录
  1. # 学生登录
  2. def student_login():
  3.     while True: # 一直循环直到输入正确的账号和密码
  4.         account = input("请输入账号:") # 输入账号
  5.         password = input("请输入密码:") # 输入密码
  6.         with open('xs.txt', 'r', encoding='utf-8') as f: # 打开存放学生信息的文件
  7.             for line in f: # 遍历所有行
  8.                 data = line.strip().split() # 分隔每行数据
  9.                 姓名 = data[0].split(':')[1].strip() # 获取姓名
  10.                 学号 = data[1].split(':')[1].strip() # 获取学号
  11.                 账号 = data[2].split(':')[1].strip() # 获取账号
  12.                 密码 = data[3].split(':')[1].strip() # 获取密码
  13.                 if 账号 == account and 密码 == password: # 如果账号和密码匹配
  14.                     print(f"欢迎登陆,{姓名}同学!") # 打印欢迎信息
  15.                     student_menu(account) # 转到学生菜单函数
  16.                     return # 结束函数
  17.             print("账号或密码错误,请重新输入") # 提示输入错误,重新输入
复制代码
执行效果


学生菜单
  1. # 学生菜单
  2. def student_menu(account):
  3.     while True: # 一直循环直到选择退出系统或者退回登录界面
  4.         print("""
  5.         ================
  6.             1. 查看所有学生信息
  7.             2. 查询个人信息
  8.             3. 退回登录界面
  9.             0. 退出系统
  10.         ================
  11.         """) # 打印菜单
  12.         choice = input("请输入您的选择:") # 输入选项
  13.         if choice == "1": # 如果输入为 1
  14.             show_all_students() # 转到显示所有学生信息函数
  15.         elif choice == "2": # 如果输入为 2
  16.             show_student_info() # 转到显示个人信息函数
  17.         elif choice == "3": # 如果输入为 3
  18.             login() # 返回登陆
  19.         elif choice == "0": # 如果输入为 0
  20.             print("感谢使用本系统,再见!") # 打印欢送信息
  21.             exit() # 退出程序
  22.         else:
  23.             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

举报 回复 使用道具