python学生管理系统(1.0低配版)

import json

str_info = """
****************************
欢迎使用【学生信息管理系统】V1.0
请选并你想要进行的操作
1.新建学生信息
2.显示全部信息
3.查询学生信息
4.修改学生信息
5.删除学生信息
0.退出系统
****************************
"""

# 读取文件
try:
    with open('student.txt', 'r', encoding='utf-8') as f:
        students_list = f.readlines()  # 读取所有行
    # 把字符串转化成对象
    students = [json.loads(student) for student in students_list]
except FileNotFoundError:
    students = []

# 循环多次
while True:
    print(str_info)
    action = input("请选择你需要执行的操作:")

    if action == '1':
        print('1.新建学生信息')
        name = input("请输入学生姓名: ")
        id = int(input(f"请输入学生{name}学号: "))
        chinese = int(input(f"请输入学生{name}语文成绩: "))
        math = int(input(f"请输入学生{name}数学成绩: "))
        english = int(input(f"请输入学生{name}英语成绩: "))
        total = chinese + math + english
        stu = {
            'name': name,
            'id': id,
            'chinese': chinese,
            'math': math,
            'english': english,
            'total': total
        }
        students.append(stu)

    elif action == '2':
        print('2.显示全部信息')
        print("姓名\t\tID\t\t语文\t\t数学\t\t英语\t\t总分")
        for stu in students:
            print(
                f"{stu['name']}\t\t{stu['id']}\t\t{stu['chinese']}\t\t{stu['math']}\t\t{stu['english']}\t\t{stu['total']}")

    elif action == '3':
        print('3.查询学生信息')
        find_name = input("请输入查询姓名:")
        found = False
        for stu in students:
            if find_name == stu['name']:
                found = True
                print("姓名\t\tID\t\t语文\t\t数学\t\t英语\t\t总分")
                print(
                    f"{stu['name']}\t\t{stu['id']}\t\t{stu['chinese']}\t\t{stu['math']}\t\t{stu['english']}\t\t{stu['total']}")
                break
        if not found:
            print("该学生不存在!!")

    elif action == '4':
        print('4.修改学生信息')
        find_name = input("请输入查询姓名:")
        found = False
        for stu in students:
            if find_name == stu['name']:
                found = True
                print("如果输入为空,就使用原来信息!")
                name = input("请输入学生姓名: ") or stu['name']
                id = input(f"请输入学生学号: ") or stu['id']
                chinese = input(f"请输入学生{name}语文成绩: ") or stu['chinese']
                math = input(f"请输入学生{name}数学成绩: ") or stu['math']
                english = input(f"请输入学生{name}英语成绩: ") or stu['english']

                stu['name'] = name
                stu['id'] = int(id)
                stu['chinese'] = int(chinese)
                stu['math'] = int(math)
                stu['english'] = int(english)
                stu['total'] = stu['chinese'] + stu['math'] + stu['english']
                print("学生信息已更新!")
                print("姓名\t\tID\t\t语文\t\t数学\t\t英语\t\t总分")
                print(
                    f"{stu['name']}\t\t{stu['id']}\t\t{stu['chinese']}\t\t{stu['math']}\t\t{stu['english']}\t\t{stu['total']}")
                break
        if not found:
            print("该学生不存在!!")

    elif action == '5':
        print('5.删除学生信息')
        find_name = input("请输入删除学生的姓名:")
        found = False
        for stu in students:
            if find_name == stu['name']:
                students.remove(stu)
                found = True
                print(f"已删除学生: {stu['name']}")
                break
        if not found:
            print("该学生不存在!!")

    elif action == '0':
        print('0.退出系统')
        with open('student.txt', 'w', encoding='utf-8') as f:
            for student in students:
                f.write(json.dumps(student, ensure_ascii=False) + '\n')
        break
    else:
        print("请输入正确选择!!")

恭喜你学会了,快去试试吧!!!