Python的简单的控制台学生信息管理系统

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


前言

一个简单的Python学生信息管理系统可以包括以下功能:

  1. 添加学生信息。包括学生姓名、学号、年龄、性别、成绩等。
  2. 修改学生信息。根据学号查询到指定学生信息进行修改。
  3. 删除学生信息。根据学号查询到指定学生信息进行删除。
  4. 查看学生信息。支持按照学号或成绩排序查看全部学生信息,并显示总人数、平均分、最高分、最低分等统计信息。
  5. 保存学生信息。将添加、修改、删除后的学生信息保存到文件中以便下次打开程序时读取。

使用步骤

代码如下(示例):

import os

students = []

def save_students():
    with open("students.txt", "w") as f://学生信息保存在文件students.txt中
        for s in students:
            f.write(str(s) + "\n")

def load_students():
    if os.path.exists("students.txt"):
        with open("students.txt", "r") as f:
            lines = f.readlines()
            for line in lines:
                parts = line.strip().split(",")
                if len(parts) == 5:
                    student = {"学号": parts[0], "姓名": parts[1], "年龄": int(parts[2]), "性别": parts[3], "成绩": float(parts[4])}
                    students.append(student)

def add_student():
    print("=== 添加学生 ===")
    sno = input("请输入学号:")
    name = input("请输入姓名:")
    age = int(input("请输入年龄:"))
    gender = input("请输入性别:")
    score = float(input("请输入成绩:"))
    student = {"学号": sno, "姓名": name, "年龄": age, "性别": gender, "成绩": score}
    students.append(student)
    print("添加成功!")

def modify_student():
    print("=== 修改学生 ===")
    sno = input("请输入要修改的学生的学号:")
    for student in students:
        if student["学号"] == sno:
            name = input(f"请输入新的姓名(原姓名为{student['姓名']}):")
            age = int(input(f"请输入新的年龄(原年龄为{student['年龄']}):"))
            gender = input(f"请输入新的性别(原性别为{student['性别']}):")
            score = float(input(f"请输入新的成绩(原成绩为{student['成绩']}):"))
            student["姓名"] = name
            student["年龄"] = age
            student["性别"] = gender
            student["成绩"] = score
            print("修改成功!")
            return
    else:
        print("未找到该学生!")

def delete_student():
    print("=== 删除学生 ===")
    sno = input("请输入要删除的学生的学号:")
    for student in students:
        if student["学号"] == sno:
            students.remove(student)
            print("删除成功!")
            return
    else:
        print("未找到该学生!")

def show_students(sort_key):
    if sort_key not in ["学号", "成绩"]:
        sort_key = "学号"
    sorted_students = sorted(students, key=lambda s: s[sort_key])
    print(f"学号\t姓名\t年龄\t性别\t成绩")
    for student in sorted_students:
        print(f"{student['学号']}\t{student['姓名']}\t{student['年龄']}\t{student['性别']}\t{student['成绩']}")
    count = len(sorted_students)
    avg_score = sum([s["成绩"] for s in students]) / count if count > 0 else 0
    max_score = sorted_students[-1]["成绩"] if count > 0 else 0
    min_score = sorted_students[0]["成绩"] if count > 0 else 0
    print(f"\n总人数:{count}")
    print(f"平均分:{avg_score:.2f}")
    print(f"最高分:{max_score:.2f}")
    print(f"最低分:{min_score:.2f}")

def main():
    load_students()
    while True:
        print("""
=== 学生信息管理系统 ===
1. 添加学生信息
2. 修改学生信息
3. 删除学生信息
4. 查看学生信息
5. 退出程序""")
        choice = input("请输入操作编号:")
        if choice == "1":
            add_student()
            save_students()
        elif choice == "2":
            modify_student()
            save_students()
        elif choice == "3":
            delete_student()
            save_students()
        elif choice == "4":
            order = input("请选择按照什么字段排序(输入“学号”或“成绩”):")
            show_students(order)
        elif choice == "5":
            print("感谢使用本程序!")
            break
        else:
            print("输入错误,请重新选择!")

if __name__ == "__main__":
    main()

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
以下是一个简单学生信息管理系统Python 代码,其中包含添加、删除、修改和查找学生信息的功能: ```python students = [] def add_student(): name = input("请输入学生姓名:") age = input("请输入学生年龄:") gender = input("请输入学生性别:") student = {"name": name, "age": age, "gender": gender} students.append(student) print("添加成功!") def delete_student(): name = input("请输入要删除的学生姓名:") for student in students: if student["name"] == name: students.remove(student) print("删除成功!") break else: print("未找到该学生!") def update_student(): name = input("请输入要修改的学生姓名:") for student in students: if student["name"] == name: student["age"] = input("请输入学生年龄:") student["gender"] = input("请输入学生性别:") print("修改成功!") break else: print("未找到该学生!") def search_student(): name = input("请输入要查找的学生姓名:") for student in students: if student["name"] == name: print("姓名:{},年龄:{},性别:{}".format(student["name"], student["age"], student["gender"])) break else: print("未找到该学生!") while True: print("欢迎使用学生信息管理系统!") print("1.添加学生信息") print("2.删除学生信息") print("3.修改学生信息") print("4.查找学生信息") print("5.退出系统") choice = input("请选择操作:") if choice == "1": add_student() elif choice == "2": delete_student() elif choice == "3": update_student() elif choice == "4": search_student() elif choice == "5": print("谢谢使用!") break else: print("操作错误,请重新选择!") ``` 这个简单学生信息管理系统基于控制台,可以通过菜单选择不同的操作,包括添加学生信息、删除学生信息、修改学生信息和查找学生信息。添加、删除和修改学生信息都需要输入学生的姓名、年龄和性别信息。查找学生信息只需要输入学生的姓名就可以查找到学生的所有信息

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

正在奋斗的程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值