python_名片管理系统

基于python2.7

cards_mian.py

#encoding=utf-8
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.creat_card()
        elif action_str == 2:
            cards_tools.show_all()
        elif action_str == 3:
            cards_tools.serch_card()
    elif action_str == 0:
        print ("欢迎再次使用【名片管理系统】")
        break
    else:
        print("您输入的不正确,请重新输入")

cards_tools.py

#encoding=utf-8
from __future__ import print_function
card_list = []

def show_menu():
    """显示菜单"""
    print ("*" * 50)
    print("欢迎使用【名片管理系统】 v1.0")
    print("")
    print("1. 新增名片")
    print("2. 显示全部")
    print("3. 搜索名片")
    print("")
    print ("0. 退出系统")
    print("*" * 50)

def creat_card():
    print ("-" * 50)
    print ("增加名片")

    #1:提示用户输入名片详细信息
    name_str = raw_input("请输入姓名:")
    phone = raw_input("请输入电话:")
    qq = raw_input("请输入qq:")
    email = raw_input("请输入邮箱:")

    #2:将用户输入的信息放入字典之中
    card_dict = {"name":name_str,
                 "phone":phone,
                 "qq":qq,
                 "email":email}

    #3将字典加入列表之中
    card_list.append(card_dict)
    #4显示名片添加成功
    print("添加 %s 的名片成功!" % name_str)


def show_all():
    # type: () -> object
    print ("-" * 50)
    print ("显示所有名片")
    # 判断是否有名片记录,如果没有提示用户
    if len(card_list) == 0:
        print("当前没有任何的名片记录,请使用新增功能添加名片!")
        return
    #打印表头
    for name in ["姓名","电话","QQ","邮箱"]:
        print (name,end="		")
    print ("")
    for card_dict in card_list:
        print ("%s		%s		%s		%s" % (card_dict["name"],
                                         card_dict["phone"],
                                         card_dict["qq"],
                                         card_dict["email"]))



def serch_card():
    print ("-" * 50)
    print ("搜索名片")
    #1提示用户输入搜索的姓名
    find_name = raw_input("请输入需要搜索的姓名:")
    #2遍历名片列表,查询搜索的姓名,如果没找到,提示用户
    for card_dict in card_list:
        if card_dict["name"] == find_name:
            print("姓名		电话		qq		邮箱")
            print("-" * 50)
            print("%s		%s		%s		%s" % (card_dict["name"],
                                            card_dict["phone"],
                                            card_dict["qq"],
                                            card_dict["email"]))

            #针对找到的名片进行修改删除操作
            deal_card(card_dict)

            break
    else:
        print("抱歉,没找到 %s" % find_name)

def deal_card(find_dict):
    """
    处理查找到的名片

    :param find_dict: 查找到的名片
    """
    print(find_dict)
    action_str =input ("请选择需要执行的操作"
                  "1 修改 2 删除 0 返回上级菜单")
    print(action_str)
    if action_str == 1:
        find_dict["name"] = input_card_info(find_dict["name"],"姓名:")
        find_dict["phone"] = input_card_info(find_dict["name"],"电话:")
        find_dict["qq"] = input_card_info(find_dict["name"],"QQ:")
        find_dict["email"] = input_card_info(find_dict["name"],"邮箱:")
        print ("修改名片成功!")
    elif action_str == 2:
        card_list.remove(find_dict)
        print("删除名片成功!")


def input_card_info(dict_value,tip_message):
    #1提示用户输入内容
    """

    :param dict_value: 字典中原有的值
    :param tip_message: 输入的提示文字
    :return: 如果用户输入了内容,就返回内容,否则就返回字典中原有的值
    """

    result_str = raw_input(tip_message)
    #2针对用户输入的内容进行判断,如果用户输入了内容,直接返回结果
    if len(result_str) > 0:
        return result_str
    #3如果用户没有输入内容,返回`字典中原有的值`
    else:
        return dict_value
    pass
学习记录,小白一枚
原文地址:https://www.cnblogs.com/wangsirde0428/p/14590718.html