Dark horse programmer-python exercise-business card management system

Dark horse programmer practice small project

Dark horse programmer python compiles business card management system

Project introduction: Use python language to write a business card management system. The functions that this project can achieve include adding new business cards, displaying business cards, querying and searching business cards, and modifying and deleting business cards. The system includes two files: main.py and tools.py. The main.py file is the running file, and the tools.py is the running function file. The functions are def show_menu(), def new_card(), def show_all(), def search_card( ), def deal_card(find_dict) and def input_card_info(dict_value, tip_message)

Main function main.py

Run the main function file, select the operation options

// 名片管理系统

import mingpian_tools

while True:# tab键批量缩进

    #显示功能名单
    mingpian_tools.show_menu()

    action_str = input("请选择希望执行的操作:")
    print("你选择的操作是【%s】" % action_str)

    #123是针对名片的操作
    if action_str in ["1","2","3"]:
        #新增名片
        if action_str == "1":
            mingpian_tools.new_card()
            # pass # 是一个空语句,不做任何事情,一般用作站位语句,是为了保证代码结构的完整性
        #显示全部
        elif action_str == "2":
            mingpian_tools.show_all()
        #查询名片
        elif action_str == "3":
            mingpian_tools.search_card()


    # 0退出系统
    elif action_str == "0":

        print("欢迎再次使用【名片管理系统】")

        break
    # 其他内容输入错误,需要提示用户
    else:
        print("你输入的不正确,请重新输入")


Call the tool file tools.py

Write each function in the tool file, then put these two files in the same folder, and run main.py to realize the operation of the business card management system.

def show_menu()

// 
def show_menu():

    """显示菜单"""

    print("*" * 50)
    print("欢迎使用【名片管理系统】")
    print("")
    print("1.新增名片")
    print("2.显示全部")
    print("3.搜索名片")
    print("")
    print("*" * 50)

Business card selection interface

def new_card()

// 
def new_card():

    """新增名片"""
    print("-" * 50)
    print("1.新增名片")
    # 提示用户输入名片的详细的信息
    name_str = input("输入姓名:")
    phone_str = input("输入电话:")
    qq_str = input("输入QQ:")
    email_str = input("输入邮箱:")

    # 建立一个名片字典
    card_dict = {
    
    "name": name_str,
                 "phone": phone_str,
                 "qq": qq_str,
                 "email": email_str}

    # 将名片字典添加到字典中
    card_list.append(card_dict)
    print(card_list)

    # 提示用户添加成功
    print("添加%s名片成功" % name_str)


Show menu

def show_all()

// 
def show_all():

    """显示全部"""
    print("-" * 50)
    print("2.显示全部")

    # 判断是否存在名片记录,如果没有,提示用户并且返回
    if len(card_list) == 0:
        print("当前没有任何名片记录,请使用新增功能添加名片")

        # return 可以返回一个函数的运行结果
        # 下方的代码不会被执行
        return
        # break只能在forwhile循环中使用

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

    print("")
    # 打印分割线
    print("=" * 50)

    # 遍历列表中的所有字典信息
    for card_dict in card_list:

        print("%s\t\t%s\t\t%s\t\t%s" % (card_dict["name"],
              card_dict["phone"],card_dict["qq"],card_dict["email"]))



Insert picture description here

def search_card()

// 
def search_card():

    """搜索名片"""
    print("-" * 50)
    print("3.搜索名片")

    # 提示用户输入要搜索的名片姓名
    find_name = input("请输入要搜索的姓名:")

    # 遍历名片列表,查找要搜索的名片,如果没有提示用户
    for card_dict in card_list:
        if card_dict["name"] == find_name:
            print("姓名\t\t电话\t\tQQ\t\t邮箱")
            print("=" * 50)
            print("%s\t\t%s\t\t%s\t\t%s" % (card_dict["name"],
                                            card_dict["phone"],
                                            card_dict["qq"],
                                            card_dict["email"]))

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

            break

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


Insert picture description here

def search_card()

Modify and delete operations

// 
def deal_card(find_dict):
    print(find_dict)
    action_str = input("请选择执行的操作:"
                       "【1】修改【2】删除【0】返回上一级菜单:")
    if action_str == "1":
        find_dict["name"]  = input("姓名:")
        find_dict["phone"] = input("电话:")
        find_dict["qq"] = input("QQ:")
        find_dict["email"] = input("邮箱:")

        print("修改名片成功!")
    elif action_str == "2":
        card_list.remove(find_dict)
        print("删除名片成功!")


tools.py file

// 
# 记录所有的名片字典
card_list = []

def show_menu():

    """显示菜单"""

    print("*" * 50)
    print("欢迎使用【名片管理系统】")
    print("")
    print("1.新增名片")
    print("2.显示全部")
    print("3.搜索名片")
    print("")
    print("*" * 50)


def new_card():

    """新增名片"""
    print("-" * 50)
    print("1.新增名片")
    # 提示用户输入名片的详细的信息
    name_str = input("输入姓名:")
    phone_str = input("输入电话:")
    qq_str = input("输入QQ:")
    email_str = input("输入邮箱:")

    # 建立一个名片字典
    card_dict = {
    
    "name": name_str,
                 "phone": phone_str,
                 "qq": qq_str,
                 "email": email_str}

    # 将名片字典添加到字典中
    card_list.append(card_dict)
    print(card_list)

    # 提示用户添加成功
    print("添加%s名片成功" % name_str)


def show_all():

    """显示全部"""
    print("-" * 50)
    print("2.显示全部")

    # 判断是否存在名片记录,如果没有,提示用户并且返回
    if len(card_list) == 0:
        print("当前没有任何名片记录,请使用新增功能添加名片")

        # return 可以返回一个函数的运行结果
        # 下方的代码不会被执行
        return
        # break只能在forwhile循环中使用

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

    print("")
    # 打印分割线
    print("=" * 50)

    # 遍历列表中的所有字典信息
    for card_dict in card_list:

        print("%s\t\t%s\t\t%s\t\t%s" % (card_dict["name"],
              card_dict["phone"],card_dict["qq"],card_dict["email"]))



def search_card():

    """搜索名片"""
    print("-" * 50)
    print("3.搜索名片")

    # 提示用户输入要搜索的名片姓名
    find_name = input("请输入要搜索的姓名:")

    # 遍历名片列表,查找要搜索的名片,如果没有提示用户
    for card_dict in card_list:
        if card_dict["name"] == find_name:
            print("姓名\t\t电话\t\tQQ\t\t邮箱")
            print("=" * 50)
            print("%s\t\t%s\t\t%s\t\t%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):
    print(find_dict)
    action_str = input("请选择执行的操作:"
                       "【1】修改【2】删除【0】返回上一级菜单:")
    if action_str == "1":
        find_dict["name"]  = input("姓名:")
        find_dict["phone"] = input("电话:")
        find_dict["qq"] = input("QQ:")
        find_dict["email"] = input("邮箱:")

        print("修改名片成功!")
    elif action_str == "2":
        card_list.remove(find_dict)
        print("删除名片成功!")

def input_card_info(dict_value,tip_message):

    """
    输入名片信息
    :param dict_value: 字典中原有的值
    :param tip_message: 输入的提示字
    :return: 如果用户输入了内容,就返回内容,否则就返回字典中原有的值
    """
    # 1.提示用户输入内容

    result_str = input(tip_message)

    # 2.针对用户的输入结果进行判断,如果用户输入了内容,直接返回结果
    if len(result_str)>0:
        return result_str
    # 3.如果用户没有输入内容,返回‘字典中原有的值’
    else:
        return dict_value



Guess you like

Origin blog.csdn.net/m0_37882192/article/details/107819399