1029 -python直播作业笔记

作业内容及笔记如下:

# 定义一个菜单函数
def menu():
    print("**************************************************")
    print("*                   学生管理系统                   *")
    print("*                1. 添加新学生信息                 *")
    print("*                2. 通过学号修改学生信息            *")
    print("*                3. 通过学号删除学生信息            *")
    print("*                4. 通过姓名删除学生信息            *")
    print("*                5. 通过学号查询学生信息            *")
    print("*                6. 通过姓名查询学生信息            *")
    print("*                7. 显示所有学生信息               *")
    print("*                8. 退出系统                      *")
    print("**************************************************")


Stus = []


def Add_stu():
    Add_sid = input('请输入新学生的sid:')

    for sid in Stus:
        if sid['sid'] == Add_sid:
            print('该学生已存在,请重新输入!')
            return '该学生添加失败!'#在for循环遍历中,如果我们加入if语句进行二次判断时,如果循环体只执行1次,结尾需要加return,超过1次的话return就加上else里面
    else:
        Add_name = input('请输入新学生的name:')
        Add_age = input('请输入新学生的age:')
        Add_gender = input('请输入新学生的gender:')
        Stu = {'sid': Add_sid, 'name': Add_name, 'age': Add_age, 'gender': Add_gender}
        Stus.append(Stu)
        # print('新添加的学生的个人信息为:\n', Stu)
        print(Stus)
        print('该学生添加成功!')
        return '该学生添加成功!'


def Alter_stuByID():
    Alter_sid = input('请输入新学生的sid:')
    for sid in Stus:
        if sid['sid'] == Alter_sid:
            Alter_name = input('请输入该学生的新name: ')
            sid['name'] = Alter_name
            Alter_age = input('请输入该学生的新age: ')
            sid['age'] = Alter_age
            Alter_gender = input('请输入该学生的新gender: ')
            sid['gender'] = Alter_gender
            print('该学生修改成功!')
            # print(Stus)
            return '该学生修改成功!'
    else:
        print('该学生信息不存在!')
        return '该学生修改失败!'


def Del_stuByID():
    Del_sid = input('请输入学生的sid:')
    for sid in Stus:
        if sid['sid'] == Del_sid:
            Stus.remove(sid)
            print(Stus)
            print('该学生删除成功!')
            return '该学生删除成功!'
    else:
        print('该学生信息不存在!')
        return '该学生删除失败!'


def Del_allstuByNAME():
    Del_name = input('请输入学生的name:')
    exist_stu = []
    for name in Stus:
        if name['name'] == Del_name:
            exist_stu.append(name)

    if len(exist_stu) > 0:
        for name in exist_stu:
            Stus.remove(name)
            print(f'名为{Del_name}的学生全部删成功!')
        else:
            print(f'成功删除{len(exist_stu)}个学生!')
            return f'名为{Del_name}的学生全部删成功!'
    else:
        print('该学生信息不存在!')
        return '该学生删除失败!'


def Query_stuByID():
    Query_sid = input('请输入学生sid:')
    for query in Stus:
        if query['sid'] == Query_sid:
            print('该学生信息查询成功,具体信息为:', query)
            return '该学生信息查询成功!'
    else:
        print('该学生信息不存在!')
        return '该学生信息查询失败!'


def Query_AllstuByNAME():
    Query_AllNAME = input('请输入学生name:')
    exist_stu = []
    for query_All in Stus:
        if query_All['name'] == Query_AllNAME:
            exist_stu.append(query_All)
            # print(exist_stu)

    if len(exist_stu) > 0:
        for query_All in exist_stu:
            print(query_All)
        return '查询成功!'
    else:
        print('查询失败!')
        return '查询失败!'


def Show_Allstu():
    for s in Stus:
        print(s)
        # return '查询成功!',在for循环体中执行return的话,只打印一次即遍历的首次结果
    else:
        return '查询成功!'


def start():
    while True:

        menu()
        select_op = input("输入编号选择操作:")

        if select_op == '1':
            Add_stu()
        elif select_op == '2':
            Alter_stuByID()
        elif select_op == '3':
            Del_stuByID()
        elif select_op == '4':
            Del_allstuByNAME()
        elif select_op == '5':
            Query_stuByID()
        elif select_op == '6':
            Query_AllstuByNAME()
        elif select_op == '7':
            Show_Allstu()
        elif select_op == '8':
            print('退出系统成功!')
            break
        else:
            print('输入有误,请重新输入!')


if __name__ == '__main__':
    start()

"""
作业要求:
实现学生管理系统:

学生信息包含:
    - 编号(sid), 姓名(name), 年龄(age), 性别(gender) 四个信息
    - 每个学生信息使用字典形式保存
    - 使用列表保存所有学生的信息

1. 实现菜单函数,输出下列信息,返回用户输入的编号,并进行输入校验。

    print("****************************************")
    print("*                                学生管理系统                         *")
    print("*              1. 添加新学生信息              *")
    print("*             2. 通过学号修改学生信息                 *")
    print("*                3. 通过学号删除学生信息                 *")
    print("*                4. 通过姓名删除学生信息                 *")
    print("*             5. 通过学号查询学生信息          *")
    print("*                6. 通过姓名查询学生信息          *")
    print("*                7. 显示所有学生信息             *")
    print("*                8. 退出系统                                           *")
    print("****************************************")
    select_op = input("输入编号选择操作:")

2. 实现控制函数,用来控制菜单的输出与功能的选择,直到用户选择8,结束程序运行。
3. 实现添加学生函数,函数参数为编号,姓名,年龄,性别四个参数,返回是否添加成功的结果,要求编号不可重复。
4. 实现修改函数,参数为学号,如果学生存在,则进行修改,不存在输出提示,并返回是否修改成功
5. 实现删除函数,参数为学号,如果学生存在,则进行删除,不存在输出提示,并返回是否删除成功
6. 实现删除函数,参数为姓名,如果学生存在,则进行删除(同名学生全部删除),不存在输出提示,并返回是否删除成功
7. 实现查询函数,参数为学号,如果学生存在,则输出学生信息,不存在输出提示,并返回是否查询成功
8. 实现查询函数,参数为姓名,如果学生存在,则输出学生信息(同名学生全部输出),不存在输出提示,并返回是否删除成功
9. 实现函数,输出所有学生信息
"""


在此处键入或粘贴代码