Python图书管理系统案例

定义5个函数分别实现添加学生、删除学生、修改学生、查询学生、显示所有学生。

同时,为了调用方便,还定义了函数print_meu()打印菜单。代码实现如下:

class_info = []
def lins():
    print("-"*30)
    return  None
def print_menu():
    lins()
    print('学生管理系统 V最终版'.center(25, '-'))
    print(" 1:添加学生;")
    print(" 2:删除学生;")
    print(" 3:修改学生;")
    print(" 4:查询学生;")
    print(" 5:显示所有学生;")
    print(" 6:退出系统")
    lins()


# 完成添加学生信息的函数
def add():
    global class_info
    # 从键盘输入 学生的:姓名 学号 性别 年龄 成绩
    name = input("请输入学生的姓名:")
    score = int(input("请输入学生的成绩:"))
    age = int(input("请输入学生的年龄:"))
    sd1 = int(input("请输入学生的学号:"))
    sex = input("请输入学生的性别:")
    # 对数据进行验证,验证学生是否有重名情况
    for student in class_info:
        # 发生重名现象
        if student["name"] == name:
            print("您输入的学生已经存在~!")
            return
    # 将学生信息添加到班级信息中
    student = {
        "name": name,
        "sd1": sd1,
        "sex":sex,
        "age": age,
        "score": score,
    }
    class_info.append(student)
    print("恭喜您,添加学生信息成功 !")
    return None

# 删除学生信息
def dels():
    global class_info
    # 根据学生学号删除学生
    sd1 = int(input("请输入您要删除的学生的学号:"))
    # 在班级信息中,找到想要删除的学生
    for student in class_info:
        if student["sd1"] == sd1:
            # 对列表进行删除
            class_info.remove(student)
            print("恭喜您删除成功")
            return 0
    print("您输入的学生不存在,删除失败!")
    return None
# 修改学生信息
def xiugai():
    global class_info
    sd1 = int(input("请输入您要修改的学生的学号:"))
    # 遍历班级信息,找到需要修改的学生
    for student in class_info:
        # 找到想要修改的学生信息
        if student["sd1"] == sd1:
            student["name"] = input("请输入修改后的学生姓名: ")
            student["sd1"] = int(input("请输入修改后的学生学号: "))
            student["sex"] =input("请输入修改后的学生性别: ")
            student["age"] = int(input("请输入修改后的学生年龄:"))
            student["score"] = int(input("请输入修改后的学生成绩: "))
            print("恭喜您,修改成功..")
            return 0
    # 当走出循环的时候表明,学生不存在
    print("您输入的学生不存在,修改失败!")
    return None

# 查找学生信息
def search():
    global class_info
    # 根据学生的学号进行查找
    sd1 = int(input("请输入您要查询的学生的学号:"))
    # 遍历班级信息,查找对应的学生
    for student in class_info:
        # 找到学生
        if student["sd1"] == sd1:
            print("姓名:{}\n学号:{}\n性别:{}\n年龄:{}\n成绩:{}"
                  .format(student["name"],student["sd1"],student["sex"],
                          student["age"], student["score"]))
            return 0
    # 跳出循环表示学生没有找到
    print("您输入的学生不存在,查找失败~~")
    return None

# 显示所有学生信息
def show():
    print("%-7s%-8s%-8s%-8s%-8s%-8s" %("序号","姓名", "学号","性别","年龄", "成绩"))
    # 遍历学生信息
    for student in class_info:
        print("%-7s%-8s%-12s%-9s%-9s%-8s" %(class_info.index(student)+1,student["name"],
                        student["sd1"],student["sex"],student["age"], student["score"]))


def run():
    # 开始运行学生管理系统
    while True:
        # 1.打印学生管理系统功能
        print_menu()
        # 2.从键盘中输入选择的功能
        choose = int(input("请输入您需要的功能>>"))
        # 3.根据输入的选项,做相应的功能
        if choose == 1:
            # 添加学生功能
            add()
        elif choose == 2:
            # 删除学生信息
            dels()
        elif choose == 3:
            # 修改学生信息
            xiugai()
        elif choose == 4:
            # 查找学生信息
            search()
        elif choose == 5:
            # 查看所有的学生信息;
            show()
        elif choose == 6:
            # 退出系统
            print("成功退出")
            break
        else:
            print("您输入有误,请重新输入~~")
    return None

# 调用函数
run()

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值