Python学习(十)(学生管理系统函数版)

实现一个函数版的学生管理系统,非常的简单,不多赘述

'''
学生管理系统
    print("-----------------------------")
    print("          学生管理系统  V1.0")
    print("1.添加学生")
    print("2.删除学生")
    print("3.修改学生")
    print("4.查询学生")
    print("5.显示所有学生")
    print("6.退出系统")
    print("-----------------------------")

程序分析:
    1.学生怎么表示
    2.学生可能使用  学号  id, 姓名  name,  年龄  agd, 可以用一个字典便是每一个学生
    3.应该有一个容器去保存所有的学生字典,可以用列表实现
    4.应该有一个主控函数
    5.菜单函数
    6.添加学生函数
    7.修改学生函数
    8.查找学生函数
    9.删除学生函数
    10.显示所有学生的函数
    11.因为创建学生和修改学生都要输入,所以可以搞一个输入函数
    12.添加一个功能函数,用来显示每个学生的信息
'''

#定义一个学的列表,用来保存来管理学生

students = []

#主控制函数
def main():
    #通过死循环控制程序可以重复运行
    while True:
        #显示菜单
        show_menu()
        #键盘输入选择一个功能
        select_id = input("请输入一个功能 ID:")
        #根据输入调用相对应的功能函数
        operator(select_id)


#菜单函数实现
def show_menu():
    print("-----------------------------")
    print("          学生管理系统  V1.0")
    print("1.添加学生")
    print("2.删除学生")
    print("3.修改学生")
    print("4.查询学生")
    print("5.显示所有学生")
    print("6.退出系统")
    print("-----------------------------")

#功能选择函数
def operator(select_id):
    if select_id == '1':
        add_stu()
    elif select_id == '2':
        del_id = input("请输入一个要删除的学生ID:")
        del_stu(del_id)
    elif select_id == '3':
        modify_id = input("请输入一个要修改的学生ID:")
        modify_stu(modify_id)
    elif select_id == '4':
        query_id = input("请输入一个要查询的学生ID:")
        search_stu_with_name(query_id)
    elif select_id == '5':
        show_all_info()
    elif select_id == '6':
        exit(0)  #程序通过exit()方法,可以直接结束程序
    else:
        print("输入的ID错误,请重新输入")

#实现一个输入函数
#用来从键盘中获取学生信息,并返回
def input_stu_info():
    #保存输入的学生信息
    stu_id = input("请输入学号:")
    stu_name = input("请输入姓名:")
    stu_age = input("请输入年龄:")
    return stu_id,stu_name,stu_age

def add_stu():
    #主体思路,向列表中添加一个字典
    #创建一个学生字典,空的

    stu={}

    #调用输入函数,获取学生信息
    stu_info = input_stu_info()

    #利用获取的信息为字典添加数据
    stu['id'] = stu_info[0]
    stu['name'] = stu_info[1]
    stu['age'] = stu_info[2]

    #将字典加到列表中
    students.append(stu)

    print(students)

#实现学生查找的功能
#返回被找到的学生

def search_stu_with_name(stu_id):
    #遍历每个学生
    for stu in students:
        # 判断学生是否是要查找的人
        if(stu['id']==stu_id):
            show_stu_info(stu)
            return stu
        else:
            print(f'学号为{stu_id}的学生不存在')
            return None

#实现一个用来显示单个学生信息的函数
def show_stu_info(stu):
    print(f"学号:{stu['id']} 姓名:{stu['name']} 年龄:{stu['age']}")


#实现删除学生的函数
def del_stu(del_id):
    #找到要删除的学生
    stu = search_stu_with_name(del_id)
    #从列表中删除
    if stu!=None:
        students.remove(stu)
        print(f"学号为{del_id}的学生删除成功")

#实现修改学生的函数
def modify_stu(modify_id):
    #找到要修改的学生
    stu = search_stu_with_name(modify_id)
    #进行修改
    if stu!=None:
        #先调用输入函数获取数据
        stu_info = input_stu_info()

        # 利用获取的信息为字典添加数据
        stu['id'] = stu_info[0]
        stu['name'] = stu_info[1]
        stu['age'] = stu_info[2]

        print(f"学号为{modify_id}的学生信息修改成功")



#显示所有学生信息的函数
def show_all_info():
    for stu in students:
        show_stu_info(stu)

#执行主控函数,运行程序
main()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值