【终究还是对python下手系列】Practice_02

一不小心,过了快一个月了。没办法,运维上班族没时间学习呀,终于算是把基础函数学完了。现在对Practice_01的《学生管理系统》,进行函数编写。其实我在Practice_01阶段,我挺排斥函数的,我觉得if/else就是无敌的(真香!)

废话不多说了,我先把之前的Practice_01的代码给个链接,老规矩——时空穿梭器:https://blog.csdn.net/D_Janrry/article/details/122235266
大家可以通过Practice_01的代码来对比我接下来的代码去学习,希望对各位有所帮助。

list = []

def add_stu():
    dict = {}
    name1 = input("请输入姓名>>>")
    age1 = input("请输入年龄>>>")
    gender1 = input("请输入性别>>>")
    addr1 = input("请输入住址>>>")

    dict["name"] = name1
    dict["age"] = age1
    dict["gender"] = gender1
    dict["addr"] = addr1

    list.append(dict)
    print("\033[1;32m 添加成功! \033[0m")

def show_all():
    print("\033[1;35m 姓名\t年龄\t性别\t住址 \033[0m")
    for i in list:
        print("\033[1;36m %s\t%s\t%s\t%s \033[0m" % (i["name"],i["age"],i["gender"],i["addr"]))

def del_stu():
    del_name = input("请输入需要删除的姓名>>>")
    flag = False
    for i in list:  # 这时候的i已经代表的是一个字典
        if i["name"] == del_name:
            del_flag = input("\033[1;33m 您确定要删除%s的信息吗?(yes/no) \033[0m\n" %(del_name))
            if del_flag == 'yes':
                list.remove(i)  # 这里一定要清楚删除的是列表的元素(也就是一个字典,而不是删除字典中的某个key、value值),经检验,若列表中的多个字典key所对应value值相同,remove()函数默认删除第一个字典。
                flag = True
                break
    if flag:
        print("\033[1;32m 删除成功! \033[0m")
    else:
        print("\033[1;31m 输入的%s不存在! \033[0m" % (del_name))

def revise_stu():
    new_name = input("请输入需要修改的姓名>>>")
    flag = False
    for i in list:  # 这时候的i已经代表的是一个字典
        if i["name"] == new_name:
            new_name2 = input("输入姓名>>>")
            new_age2 = input("输入年龄>>>")
            new_gender2 = input("输入性别>>>")
            new_addr2 = input("输入新地址>>>")

            i["name"] = new_name2
            i["age"] = new_age2
            i["gender"] = new_gender2
            i["addr"] = new_addr2
            flag = True
    if flag:
        print("\033[1;32m 修改成功! \033[0m")
    else:
        print("\033[1;31m 输入的%s不存在! \033[0m" % (new_name))

while True:
    print("+" + "-" * 22 + "+")
    print("|" + " " * 2 + "1.添加学生信息" + " " * 8 + "|")
    print("|" + " " * 2 + "2.显示所有学生的信息" + " " * 3 + "|")
    print("|" + " " * 2 + "3.删除学生信息" + " " * 8 + "|")
    print("|" + " " * 2 + "4.修改学生信息" + " " * 8 + "|")
    print("|" + " " * 2 + "5.退出程序" + " " * 11 + "|")
    print("|" + " " * 22 + "|")
    print("+" + "-" * 22 + "+")

    cmd1 = input("输入序号选择操作:")
    if cmd1 == '5':
        exit_flag = input("\033[1;33m您确定要退出吗?(yes/no)\033[0m\n")
        if exit_flag == 'yes':
            print("\033[1;32m 退出成功! \033[0m")
            break
    dict = {"1": add_stu, "2": show_all, "3": del_stu, "4": revise_stu}
    function = dict.get(cmd1)
    function()

宁愿累死自己,也要卷死别人! ! !

你可能感兴趣的:(终究还是对Python下手系列,python,开发语言,后端)