python小练习 名片管理器

需要完成的基本功能:添加名片 删除名片 修改名片 查询名片 退出系统

思路:用字典作为名片存放个人信息,然后把名片存入列表中。

cardList = [] # 列表,用于保存所有人名片,每个名片是一个字典。
def menu():   # 用于提示用户功能选项
    print('========名片管理器========')
    print('1添加名片  2删除名片 3修改名片 4查询名片 5显示全部 6退出系统 ')
def addCard():  # 添加名片函数
    card = {}   # 局部变量,这个字典用于临时保存要添加的名片
    card['姓名'] = input('请输入添加人名字:') # 把名字赋给字典card的'姓名'键对应的值
    card['电话'] = input('请输入添加人电话:') # 同上
    cardList.append(card)     # 把新名片添加到列表中
    print(card)      # 打印这个名片
    print('已添加')
def deleteCard():
    deleteName = input('请输入要删除名片的姓名:')
    for temp in cardList:   # 列表的遍历,注意temp是字典(一个名片)
        if temp['姓名'] == deleteName:  #temp['姓名']是value,判断要删除的人是否是列表中的
            cardList.remove(temp)       # 删除列表的temp元素(一个名片)
            print('已删除')
def modifyCard():
    toModifyName = input('请输入要修改名片的姓名:')
    newTemp={}  # 用于保存修改后的名片
    for temp in cardList:
        if temp['姓名'] == toModifyName:  # 选择与要删的名字一致的temp,然后对这个temp进行操作
            newTemp = temp
            newName = input('请输入新名字:')
            newTemp['姓名'] = newName
            newPhone = input('请输入新电话:')
            newTemp['电话'] = newPhone
            cardList.remove(temp)     # 删除
            cardList.append(newTemp)  # 添加
            print('已修改')
def findCard():
    findFlag = 0  # 是否找到标志位
    findName = input('请输入要查找的姓名:')
    for temp in cardList:
        if temp['姓名'] == findName: # 选择与要查找的名字一致的temp,相等表示找到了
            print(temp)  # 打印要找的名片
            findFlag = 1  # 标志位置1,表示找到了
    if findFlag == 0:
        print('没找到')
def showAllCard():
    print(cardList)  # 打印列表,即所有名片
def main():
    while True:
        menu()
        choice = int(input('请输入选择功能序号:'))
        if choice == 1:
            addCard()     # 添加名片
            continue
        elif choice == 2:
            deleteCard()  # 删除名片
            continue
        elif choice == 3:
            modifyCard()  # 修改名片
            continue
        elif choice == 4:
            findCard()    # 查找名片
            continue
        elif choice == 5:
            showAllCard()  # 显示所有
        elif choice == 6:
            print('已退出!')
            break   # 退出
main()  # 调用主函数
原文地址:https://www.cnblogs.com/zhang-anan/p/8203674.html