字典数+List实现简单电话簿应用(实现增删改查)

Python学习第三周作业
具体要求:
用list保存多个字典,实现一个类似电话簿的应用
字典格式{“Name”:XXX “Sex”:XXX “PhoneNumber”:XXX}
要求:

  1. 从中查找姓名为XXX的电话
  2. 修改姓名为XXX的性别
  3. 查找电话为XXX的名字
  4. 新添加一条记录【该记录可写死,不用键盘输入】
    在这里插入图片描述

直接上代码

# 完整的程序
# 用字典实现swich-case的功能 代替if elif else
# default的功能
print("---------------------------------------")
print("-----------欢迎进入电话簿系统----------")
print("---------------------------------------")

# 定义列表并初始化
ItemList = [
    {'Name': '朱猪', 'Sex': 'female', 'PhoneNumber': 1234},
    {'Name': '朱帅', 'Sex': 'male', 'PhoneNumber': 5678},
    {'Name': 'Esther', 'Sex': 'female', 'PhoneNumber': 9012},
    {'Name': '朱美丽', 'Sex': 'male', 'PhoneNumber': 3456},
    {'Name': '朱猪猪', 'Sex': 'male', 'PhoneNumber': 7890},
]


def case1():  # 查找姓名为XXX的电话
    exist = 0  # 若不存在 重新输入
    name = input("请输入您想要查询的姓名:")
    for item in ItemList:
        if item['Name'] == name:
            exist = 1
            print(item['Name'] + "的电话号码为", item['PhoneNumber'])
            break
    if exist == 0:
        print("您输入的姓名不存在,请重新输入")
        case1()


def case2():  # 修改姓名为XXX的性别
    exist = 0
    name = input("请输入您想要修改的信息的姓名:")
    for item in ItemList:
        if item['Name'] == name:
            exist = 1
            NewGen = input("请输入新的性别:")
            item['Sex'] = NewGen
            print("改变后的信息:" + item['Name'] + "的性别为", item['Sex'])
            break
    if exist == 0:
        print("您输入的姓名不存在,请重新输入")
        case2()


def case3():# 查找电话为XXX的名字
    exist = 0
    Tel = input("请输入您想要查询的电话号:")
    for item in ItemList:
        if item['PhoneNumber'] == int(Tel):
            exist = 1
            print("电话为" + Tel + "的名字为" + item['Name'])
    if exist == 0:
        print("您输入的电话号不存在,请重新输入")
        case3()


def case4():# 新添加一条记录
    DictName = input("请输入您所要添加的信息的姓名:")
    DictSex = input("请输入您所要添加的信息的性别:")
    DictTel = int(input("请输入您所要添加的信息的电话号码:"))
    ItemList.append({'Name': DictName, 'Sex': DictSex, 'PhoneNumber': DictTel})
    print("您添加的信息为:")
    for item in ItemList:
        if item['Name'] == DictName:
            print(item)


def case5():
    for item in ItemList:
        print(item)


def case0():
    print("程序将退出")
    global stop  # 需要使用全局变量 不然会报错
    stop = 1


def default():
    print("请您输入有效的指令噢!!")


switch = {
    1: case1,
    2: case2,
    3: case3,
    4: case4,
    5: case5,
    0: case0
}

stop = 0

# 程序的主体
while 1:
    if stop == 1:
        break
    print("1、查找姓名为XXX的电话")
    print("2、修改姓名为XXX的性别")
    print("3、查找电话为XXX的名字")
    print("4、新添加一条记录")
    print("5、查询当前电话簿")
    print("0、退出")
    choice = int(input("请输入您想要的操作号:"))
    switch.get(choice, default)()

猜你喜欢

转载自blog.csdn.net/weixin_43232564/article/details/107638089