Python教程

python之名片管理系统

本文主要是介绍python之名片管理系统,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
card_toos.py中的代码如下:

card_list = []
def show_menu():
    '''显示主菜单'''
    print("*" * 50)
    print("欢迎进入【名片管理系统 v1.0】")
    print("")

    print("1、新建名片")
    print("")
    print("2、显示名片")
    print("")
    print("3、查询名片")
    print("")
    print("0、退出名片管理系统")
    print("=" * 50)
    print("")
def new_card():
    '''新建名片'''
    # 提示用户输入名片信息
    name = input("请输入您的姓名:")
    phone = input("请输入您的手机号码:")
    email = input("请输入您的邮箱:")
    #将用户输入的信息存放在字典中
    card_dict = {"name":name,
                 "phone":phone,
                 "email":email}
    print("*" * 50)
    #print("姓名\t\t\t号码\t\t\t邮箱")
    #将字典中存放的信息追加到列表中,追加后列表中存放了用户的信息,作为全员变量进行使用
    card_list.append(card_dict)
    #print(card_list)
    print("成功添加名片 %s" % name)
    print("*" * 50)

def show_all():
    '''显示名片'''
    print("-" * 50)
    #判断名片内是否有信息,如果没有,则提示用户新增名片,并且直接返回
    if len(card_list) == 0:
        print("没有名片的相关信息,请新增名片")
        return

    #打印表头
    for name in ["姓名","号码","邮箱"]:
        print(name,end="\t\t\t")

    print("")
    #打印分割线
    print("=" * 50)
    #对用户输入在名片中的信息进行遍历,并且进行打印
    for card_all in card_list:
        print("%s\t\t\t%s\t\t\t%s" % (card_all["name"],
                               card_all["phone"],
                               card_all["email"]))

def card_search():
    '''查询名片'''
    #提示用户需要查找的名片信息
    find_name = input("请输入您要查询的名片信息:")

    print("")
    #对名片信息进行遍历,对用户输入的姓名进行查找,如果用户输入的名称在名片中能找到,则查询对应的名片信息
    for card_dict in card_list:
       if card_dict["name"] == find_name:

               print("姓名\t\t号码\t\t邮箱")
               print("%s\t\t%s\t\t%s" % (card_dict["name"],
                                         card_dict["phone"],
                                         card_dict["email"]))
               # TODO 对名片进行修改和删除的操作
               deal_card(card_dict)
               break
    #如果没有查询到对应的信息,则需要提示用户
       else:
           print("没有找到您所查询到的信息")

#此函数的作用是对用户查询到的函数进行修改和删除的操作,当用户选择对应的操作时,处理不同的逻辑,如果用户选择修改,那直接在用户
#查询到的基础上进行修改。也就是find_name是关键。如果用户选择删除,那直接在列表中删除用户查询到的find_name值
def deal_card(find_name):
   """ 处理名片信息

   :param find_name: 对名片中的信息进行处理,首先find_name的值是card_dict传递过来的。所以find_name里面是存在名片信息的。
   """
   result_str = input("请输入您需要进行的操作 1 修改 2 删除 0 返回上级")

   if result_str == "1":
       find_name["name"] = input_card_info(find_name["name"],"姓名:")
       find_name["phone"] = input_card_info(find_name["phone"],"电话:")
       find_name["email"] = input_card_info(find_name["email"],"邮箱:")
       print("修改成功")
   elif result_str == "2":
       card_list.remove(find_name)
       print("删除成功")

# 此函数的功能是
def input_card_info(dict_value,tip_message):
    """ 输入名片信息

    :param dict_value: 原有字典中的信息
    :param tip_message: 输入的提示文字
    :return:
    """
    #提示用户输入的信息
    result = input(tip_message)
    #如果用户已经输入了信息,代表用户已经进行了修改,那直接返回修改的结果即可。否则直接返回字典中的信息即可。
    if len(result) > 0:
        return result
    else:
        return  dict_value

cards_main.py中代码如下:

import card_tools
card_tools.show_menu()
while True:
    action_str = input("请输入您需要的操作:")

    if action_str in ["0","1","2","3"]:
        if action_str == "1":
            card_tools.new_card()
        elif action_str == "2":
            card_tools.show_all()
        elif action_str == "3":
            card_tools.card_search()
        elif action_str == "0":
            print("欢迎再次使用名片管理系统")
            break
    else:
        print("您输入的数字有误,请重新输入")
这篇关于python之名片管理系统的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!