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

这是一个简易的学生信息管理系统,使用Python实现。系统包含添加、修改、查询和删除用户的功能,并通过正则表达式验证手机号码的合法性。
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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值