1102Python编程语言作业讲解

"""
__author__ = '霍格沃兹测试开发学社'
__desc__ = '更多测试开发技术探讨,请访问:https://ceshiren.com/t/topic/15860'
"""

# 定义一个全局变量,用来保存学生的信息,方法各个函数之间进行访问
students = []

# 添加学生
def addStuedent():
    sid = input("请输入学生ID:")
    name = input("请输入学生姓名:")
    for s in students:
        if s["sid"] == sid:
            print("学号已存在,添加失败")
            return "添加失败"
    else:
        student = {"sid": sid, "name": name}
        students.append(student)
        print("添加学生信息成功")
        return '添加成功'

# 通过学号修改学生信息
def modifyStudentByID():
    sid = input("请输入一个学生ID:")
    for s in students:
        if s["sid"] == sid:
            name = input("请输入学生姓名:")
            s["name"] = name
            print("修改成功")
            return "修改成功"
    else:
        print(f'没有 {sid} 对应的学生信息')
        return "修改失败"

# 通过ID删除学生信息
def deleteStudentByID():
    sid = input("请输入一个学生ID:")
    for s in students:
        if s["sid"] == sid:
            students.remove(s)
            print("删除成功")
            return "删除成功"
    else:
        print(f'没有 {sid} 对应的学生信息')
        return "删除失败"

# 通过学生姓名 删除所有符合的学生
def deleteStudentByName():
    name = input("请输入一个学生姓名:")
    exist_s = []
    # 找出所有要删除的学生
    for s in students:
        if s['name'] == name:
            exist_s.append(s)

    # for s in students:
    #     if s['name'] == name:
    #         students.remove(s)
    #
    #     '''
    #         2 4
    #     '''


    # 开始删除
    if len(exist_s) > 0:
        for s in exist_s:
            students.remove(s)
            print(f"学号 { s['sid'] } 的学生删除成功")
        else:
            print(f"成功删除 {len(exist_s)} 个学生")
            return "删除成功"
    else:
        print("学生不存在,无法删除")
        return "删除失败"

# 通过学号查询学生信息
def queryStudentByID():
    sid = input("请输入一个学生ID:")
    for s in students:
        if s["sid"] == sid:
            print(s)
            return "查询成功"
    else:
        print(f"学号 {sid} 的学生不存在")
        return "查询失败"

# 通过姓名查询学生信息
def queryStudentByName():
    name = input("请输入一个学生姓名:")
    result = []
    for s in students:
        if s["name"] == name:
            result.append(s)

    if len(result) > 0:
        for s in result:
            print(s)
        return "查询成功"
    else:
        print("查询失败")
        return "查询失败"

# 显示所有学生信息
def show():
    for s in students:
        print(s)

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

# 管理函数
def manager():
    while True:
        menu()
        select_op = input("输入编号选择操作:")

        if len(select_op) == 1 and select_op in "12345678":
            if select_op == "1":
                addStuedent()
            elif select_op =="2":
                modifyStudentByID()
            elif select_op =="3":
                deleteStudentByID()
            elif select_op =="4":
                deleteStudentByName()
            elif select_op =="5":
                queryStudentByID()
            elif select_op =="6":
                queryStudentByName()
            elif select_op =="7":
                show()
            else:
                break

        else:
            print("输入的数据不合法,请输入在合法范围内的操作编号!!!")

# 程序入口
if __name__ == '__main__':
    # manager()

    flag = False
    num = int(input("Num:"))
    # for n in [1,2,3]:
    #     if n == num:
    #         flag = True
    #         break
    # # else:
    # #     print("Over")
    #
    # if flag == True:
    #     print(num ** 2)
    # else:
    #     print("无")

    # for n in [1,2,3]:
    #     if num == n:
    #         print(num ** 3)
    #         break
    # else:
    #     print("No")