看雨听歌 发表于 2023-6-12 18:04:25

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

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

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

登录界面

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

https://img-blog.csdnimg.cn/2b6c16c4189a4dc3ae44a11905cf898e.gif
学生登录

# 学生登录
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.split(':').strip() # 获取姓名
                学号 = data.split(':').strip() # 获取学号
                账号 = data.split(':').strip() # 获取账号
                密码 = data.split(':').strip() # 获取密码
                if 账号 == account and 密码 == password: # 如果账号和密码匹配
                  print(f"欢迎登陆,{姓名}同学!") # 打印欢迎信息
                  student_menu(account) # 转到学生菜单函数
                  return # 结束函数
            print("账号或密码错误,请重新输入") # 提示输入错误,重新输入执行效果

https://img-blog.csdnimg.cn/ac7def13e9224a739e7e9510b8c27255.gif
学生菜单

# 学生菜单
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("输入有误,请重新输入!") # 提示输入错误,重新输入执行效果

https://img-blog.csdnimg.cn/9a7b10bc5a824d5db88f20c4aceefc6f.gif
展示所有学生信息

# 展示所有学生信息def show_all_students():    with open('xinxi.txt', 'r',encoding='utf-8') as f: # 打开存放学生信息的文件      lines = f.readlines() # 读取所有行      if len(lines) == 0: # 如果文件为空            print("暂无学生信息") # 打印提示信息            return # 结束函数      header = "{:
页: [1]
查看完整版本: 使用Python实现学生信息管理系统