python小程序——名片

1、主程序

import cards_tools
while True:
    cards_tools.show_menu()
    action_str = input("请选择希望执行的操作:")
    print("您选择的操作是%s" % action_str)
    # 逗号前面不能加空格,逗号后面需要加空格
    if action_str in ["1", "2", "3"]:
        if action_str == "1":
            cards_tools.new_card()
        elif action_str == "2":
            cards_tools.show_all()
        else:
            cards_tools.search_card()

    elif action_str == "0":
        # pass是一个关键字,也是一个占位符,能够保证代码结构的正确,如果开发分支结构时,不想立刻写分支代码,可以用pass代替
        print("欢迎再次使用名片管理系统!")
        break
    else:
        print("您输入的不正确,请重新输入:")

2、引入包

card_list = []

# 每个方法要空两行
def show_menu():
    print("*" * 50)
    print("欢迎使用名片管理系统V1.0")
    print("")
    print("1.新增名片")
    print("2.显示全部")
    print("3.搜索全部")
    print("")
    print("0.退出系统")
    print("*" * 50)


def new_card():
    """新增名片"""
    print("-" * 50)
    name_str = input("请输入姓名:")
    phone_str = input("请输入电话:")
    qq_str = input("请输入qq号码:")
    email_str= input("请输入邮箱:")
    card = {"name": name_str, "phone": phone_str, "qq": qq_str, "email": email_str}
    card_list.append(card)
    print(card_list)
    print("%s新增名片成功!" % name_str)


def show_all():
    """显示所有名片"""
    if len(card_list) == 0:
        print("当前没有任何一条名片记录,请使用新增功能添加名片")
        return
    print("=" * 50)
    for name in ["姓名","电话","qq","email"]:
        print(name ,end="\t\t")
    print("")
    print("=" * 50)
    for card in card_list:
        for k, v in card.items():
            print("%s" % v, end="\t\t")
        print("")


def search_card():
    """搜索名片"""
    print("-" * 50)
    search_name = input("请输入要查询的用户姓名:")
    for card in card_list:
        if search_name == card["name"]:
            print("姓名\t\t\t电话\t\tqq\t\temail")
            for k, v in card.items():
                print("%s" % v, end="\t\t")
            print("")
            handle_card(card)
            break
    else:
        print("%s用户没有找到" % search_name)


def handle_card(find_card):
    option = input("请输入对该用户执行那种操作:"
                   "1.修改 2.删除 其他数字.返回上一级菜单")
    print("")
    if option == "1":

        find_card["name"] = input_info(find_card["name"], "名字")
        find_card["phone"] = input_info(find_card["phone"], "电话")
        find_card["qq"] = input_info(find_card["qq"], "qq")
        find_card["email"] = input_info(find_card["email"] ,"email")
        print("用户修改成功")
    elif option == "2":
        # remove 直接删除字典对象
        card_list.remove(find_card)
        print("删除名片成功!")
    else:
        return


def input_info(old_value, tip):
    input_value = input("请输入%s,回车不修改" % tip)
    # 要考虑空格、回车、换行符,都是空字符串
    if len(input_value) > 0:
        return input_value
    else:
        return old_value

 

posted @ 2024-01-18 20:08  无声袖箭  阅读(15)  评论(0)    收藏  举报