python简易学生管理系统

这是一个实现了学生信息管理、添加、删除、修改、查询、统计等功能的程序。数据能够持久保存在student.txt文件中,即使退出程序也能在下次运行时读取。用户可以选择不同的操作选项进行交互,确保了学生信息的安全存储和便捷管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

加了文件,可使学生信息持久性保存在文件中。
注:即使退出循环或者程序,在下次进入系统的时候仍可读入学生信息数据。


一、代码

代码如下(示例):

def print_menu():
    print("""
    ==========================================
            欢迎适用学生信息管理系统
            1.添加学生信息
            2.删除学生信息
            3.修改学生信息
            4.查询学生信息
            5.统计学生成绩
            6.显示所有学生信息
            7.退出系统
    ==========================================
            """)

def print_info(stu_info):
    # print("学号",   "姓名",   "性别", "语文成绩", "数学成绩", "英语成绩",)
    print("学号   姓  名    性  别    语文成绩     数学成绩    英语成绩")
    for i in range(len(stu_info)):
        print(stu_info[i], end=" " * 7)
#1.添加学生信息
def apendStudent():
    print("你选择的选项是:  1.添加学生信息")
    id = input("请输入你要添加的学生学号:")
    for i in students:
        if len(i) > 0 and i[0] == id:
            print("该学生信息已保存")
            break
    else:
        stu_info = input_info(id)
        students.append(stu_info)
        answer = input('是否继续添加?y/n\n')
        if answer == 'y':
            apendStudent()
        else:
            save_file()
            print('学生信息录入完毕!!!')
        # save_file()
        # print("你添加的学生信息如下:")
        # print_info(stu_info)
#2.删除学生信息
def delStudent():
    print("你选择的选项是:2.删除学生信息")
    id = input("请输入你要删除的学生学号:")
    for i in students:
        if len(i) > 0 and i[0] == id:
            students.remove(i)
            print("信息已刪除")
            save_file()
            break
    else:
        print("学生信息未保存")
#3.修改学生信息
def modifyStudent():
    print("你选择的选项是:3.修改学生信息")
    id = input("请输入你要修改的学生学号:")
    for i in students:
        if len(i) > 0 and i[0] == id:
            stu_Id = students.index(i)
            stu_info = input_info(id)
            students[stu_Id] = stu_info
            print("修改后的学生信息:")
            print_info(stu_info)
            save_file()
            break
    else:
        print("学生信息未保存")
#4.查询学生信息
def searchStudent():
    print("你选择的选项是:4.查询学生信息")
    id = input("请输入你要查询的学生学号:")
    for i in students:
        if len(i) > 0 and i[0] == id:
            print("查询的学生信息如下:")
            print_info(i)
            break
    else:
        print("学生信息未保存")
#输入学生信息
def input_info(id):
    stu_id = id
    name = input("姓名:")
    sex = input("性别:")
    ch_score = float(input("语文成绩:"))
    math_score = float(input("数学成绩:"))
    eng_score = float(input("英语成绩:"))
    stu_info = [stu_id, name, sex, ch_score, math_score, eng_score]
    return stu_info
#5.统计学生成绩
def showStudent():
    print("你选择的选项是:5.统计学生成绩")
    id = input("请输入你要统计的学生学号:")
    for i in students:
        if len(i) > 0 and i[0] == id:
            stu_score(i)
            break
    else:
        print("学生信息未保存")
def stu_score(stu_info):
    sum_score = stu_info[3] + stu_info[4] + stu_info[5]
    avg_score = sum_score / 3
    print("学生三门课程总成绩为:%.2f" % sum_score)
    print("学生三门课程平均成绩为:%.2f" % avg_score)
#6.显示所有学生信息
def showAllStudent():
    print("你选择的选项是:6.显示所有学生信息")
    if len(students) > 0:
        print("学号  姓名  性别    语文成绩   数学成绩   英语成绩  总成绩  平均成绩")
        for i in range(len(students)):
            sum_scores = students[i][3] + students[i][4] + students[i][5]
            avg_scores = sum_scores / 3
            print(students[i][0],"  ",students[i][1],"  ", students[i][2],"  ",students[i][3],"  ",students[i][4],"  ",students[i][5],"  ",sum_scores,"  ",avg_scores,"\n")
    else:
        print("暂无数据!")
#保存数据至文件中
def save_file():
    f = open("student.txt", 'w', encoding='utf-8')
    f.write(str(students))
    f.close()
    print("数据保存至student.txt文件成功!")
#将数据读取至变量中
def read_file():
    try:
        f = open('student.txt', 'r', encoding='utf-8')
        ret = f.read()
        global students
        students = eval(ret)
        f.close()
        print("数据读取成功!")
    except:
        print("文件不存在")


stu_info = []
students = []

while True:
    print_menu();
    read_file();
    select_no = input("请输入你的操作选项编号:")
    if select_no == "1":
        apendStudent();
    elif select_no == "2":
        delStudent();
    elif select_no == "3":
        modifyStudent();
    elif select_no == "4":
        searchStudent();
    elif select_no == "5":
        showStudent();
    elif select_no == "6":
        showAllStudent();
    elif select_no == "7":
        print("退出系统!")
        break
    else:
        print("你输入的选项有误,请重新输入选项编号!")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

想吃烧烤

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

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

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

打赏作者

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

抵扣说明:

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

余额充值