列表和字典嵌套完成电话簿(增删改查)

来源:互联网 发布:pg dump 导出数据库 编辑:程序博客网 时间:2024/06/03 09:47
import re
import sys
student = []                                                                                   
while 1 :
    print("1.增加用户")
    print("2.修改用户")
    print("3.查询用户")
    print("4.删除用户")
    print("5.退出")
    choose = int(input("您选择功能: "))
    if choose == 1:
        name1 = input("name: ")
        phone1 = input("phone: ")
        if phone1.isdigit():
            if re.match('^1[358]\d{9}$',phone1):                                  //正则判断输入电话是否合法
                print("ok")
                student.append({                                                          //列表嵌套字典插入
                "name" : name1,
                "phone" : phone1,
                })
        else :
            print("Invalid input")
        continue

    elif choose == 2:
        print("请输入将要修改的用户名")
        name2 = input("name: ")
        for i in student:
            if i["name"] == name2 :                                                        //for循环每一个i代表一行字典
                print ("请输入电话")
                phone2 = input("phone: ")
                i["phone"] = phone2
                break
        else :
            print ("查无此人")
        continue
        
    elif choose == 3:
        print("请选择查询类别,选1查询所有,选2指定姓名查询")
        num3 = int(input("type: "))
        if num3 == 1:
            for i in student:
                print(i)
        elif num3 == 2:
            print("请输入查询姓名")
            name3 = input("name: ")
            for i in student:
                if i["name"] == name3 :
                    print(i["phone"])
                    break
            else :
                print("查无此人")
        continue
    elif choose == 4:
        print("请选择删除类别,选1删除所有,选2指定姓名删除")
        num4 = int(input("type: "))
        if num4 == 1:
            student.clear()
        elif num4 == 2:
            print("请输入删除姓名")
            name4 = input("name: ")
            for i in student:
                if i["name"] == name4 :
                    j = student.index(i)
                    student.pop(j)
                    break
            else :
                print("查无此人")
        continue
    elif choose == 5:
        sys.exit(1)
    else :
        print("输入格式错误,请重新输入")
        continue
阅读全文
0 0