python中简单的学生管理系统

# 能够持久化的学生管理系
import json

def print_info():
    print("1.查看所有学生")
    print("2.修改学生信息")
    print("3.增加学生信息")
    print("4.删除学生信息")
    print("5.查看一个学生的信息")
    print("6.退出")
    user_input = input("请选择要进行的操作的编号:")
    return user_input

def show_all_student(stu_list):#这是查看所有的学生信息
    for stu in stu_list:
        print(stu)

def modify_stu_info(stu_list):#根据学生的名字修改学生信息
    stu_name = input("请输入要修改的学生的名字:")
    stu_exist = False
    for stu in stu_list:
        if stu["name"] == stu_name:
            stu_exist = True
            stu["age"] = input("请输入修改后学生的年龄:")
            stu["stu_num"] = input("请输入修改后的学生的学号")
            print(">>>>修改后的学生信息为:")
            print(stu)
    if not stu_exist:#if stu_exist==False #表示学生名字不存在
        print(">>>>您要修改的学生姓名不存在,请重新输入")
    return stu_list

def add_stu_info(stu_list):#增加学生信息
    stu_info ={} #用它来保存新的学生信息
    stu_info["name"] = input("请输入新学生的名字:")
    stu_info["age"] = input("请输入新学生的年龄:")
    stu_info["stu_num"] = input("请输入新学生的学号:")
    stu_list.append(stu_info)
    print(">>>>新的学生添加成功")
    print(stu_info)
    return stu_list

def delete_stu_info(stu_list):#删除学生信息
    stu_name = input("请输入要删除的学生姓名:")
    stu_exist = False
    for stu in stu_list:
        if stu_name == stu["name"]:
            stu_exist = True
            stu_list.remove(stu)
            print(">>>>学生信息删除成功")
            print("被删除的学生是:{}".format(stu))
    if stu_exist == False:
        print(">>>>您要删除的学生不存在,请重新输入")
    return stu_list

def search_one_stu(stu_list):#搜索一个学生的信息
    stu_name = input("请输入要搜索的学生姓名:")
    stu_exist = False
    for stu in stu_list:
        if stu_name == stu["name"]:
            stu_exist = True
            print("被搜索的学生是:{}".format(stu))
    if stu_exist == False:
        print(">>>>您要搜索的学生不存在,请重新输入")

def run():#实现主要的思路,逻辑
    #1.需要有个地方存储单个学生信息和所有的学生信息
    print("*"*20)
    print("欢迎来到学生管理系统")
    print("*" * 20)
    #1.1读取student_list里面的列表
    f = open("student_list.txt","r")
    stu_list = json.loads(f.read())
    f.close()


    #1.9 用户输入之前,应该是个死循环
    while True:
        #2.提示用户输入,输入想要执行的操作
        user_input = print_info()  #结果是一个字符串
        #3.根据操作来选择对应的功能
        if  user_input in ["1","2","3","4","5","6"]:
            # 1.查看所有学生
            if user_input == "1": #判断用户输入的是1
                show_all_student(stu_list)
            # 2.修改学生信息
            elif user_input =="2":
                stu_list = modify_stu_info(stu_list)
            # 3.增加学生信息
            elif user_input == "3":
                stu_list = add_stu_info(stu_list)
            # 4.删除学生信息
            elif user_input =="4":
                stu_list = delete_stu_info(stu_list)
            # 5.查看一个学生的信息
            elif user_input == "5":
                search_one_stu(stu_list)
            # 退出
            else: #终止真个循环
                print("正在保存学生信息")
                f = open("student_list.txt","w")
                f.write(json.dumps(stu_list,indent=2))
                f.close()
                print("成功退出系统,再见....")
                break
        else:
            print(">>>>输入有误,请重新输入")

run()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值