初学Python的小功能练手--名片管理

本文介绍了一个简单的Python名片管理系统,包括新建、显示、查找和修改名片等功能。通过终端交互完成各项操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境

Ubuntu 16.04 + python3.5

功能描述

主要目的在于刚学完Python的基础语法后进行实践,实现一个名片管理系统。通过终端的交互方式,实现“新建名片”、“显示全部”、“查找名片”、“修改/删除名片”的功能。

运行效果

在这里插入图片描述

代码实现

分为两个py文件实现。cards_main.py文件主要实现主逻辑;cards_tools.py主要实现对应的功能函数。cards_main.py代码如下:

#! /usr/bin/python3

import cards_tools

while True:
    cards_tools.show_menus()
    action = input("请选择操作功能:")

    if action in ["1", "2", "3"]:
        if action == "1":
            cards_tools.new_card()

        elif action == "2":
            cards_tools.show_all()

        elif action == "3":
            cards_tools.search_card()

    elif action == "0":
        print("【欢迎再次使用名片管理系统!】")
        break;
    else:
        print("输入错误,请重新输入")

cards_tools.py代码如下:

# 所有名片的记录
cards_list = []


def show_menus():
    """
    显示菜单
    :return:
    """
    print("*" * 50)
    print("欢迎使用【名片管理系统】V1.0")
    print("")
    print("1.新建名片")
    print("2.显示全部")
    print("3.查找名片")
    print("")
    print("0.退出系统")
    print("*" * 50)


def new_card():
    """
    新建名片
    :return:
    """
    print("-" * 50)
    print("功能:新建名片")
    # 1. 提示用户输入名片信息
    name = input("请输入姓名:")
    phone = input("请输入电话:")
    qq = input("请输入QQ号码:")
    email = input("请输入邮箱:")

    # 2. 将用户信息保存到一个字典
    card_dictionary = {"name": name,
                       "phone": phone,
                       "qq": qq,
                       "email": email}

    # 3. 将字典添加到名片列表
    cards_list.append(card_dictionary)

    # 4. 提示成功添加名片信息
    print("成功添加 %s 的名片信息" % card_dictionary["name"])


def show_all():
    """
    显示全部
    :return:
    """
    print("-" * 50)
    print("功能:显示全部")

    # 判断是否存在名片
    if len(cards_list) == 0:
        print("提示:没有存在名片记录")
        return

    # for card_dictionary in cards_list:
    #     print(card_dictionary)

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

    print("")

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

    for card_dictionary in cards_list:
        print("%s\t\t%s\t\t%s\t\t%s" % (card_dictionary["name"],
                                        card_dictionary["phone"],
                                        card_dictionary["qq"],
                                        card_dictionary["email"]))


def search_card():
    """
    搜索名片
    :return:
    """
    print("-" * 50)
    print("功能:搜索名片")
    # 1. 输入需要搜索的姓名
    find_name = input("请输入需要搜索的姓名:")

    # 2. 遍历字典
    for card_dictionary in cards_list:
        if card_dictionary["name"] == find_name:
            print("姓名\t\t电话\t\tQQ号码\t\t邮箱")
            print("-" * 40)
            print("%s\t\t%s\t\t%s\t\t%s" % (
                card_dictionary["name"],
                card_dictionary["phone"],
                card_dictionary["qq"],
                card_dictionary["email"]
            ))
            print("-" * 40)
            deal_card(card_dictionary)
            break
    else:
        print("没有找到 %s 的信息" % find_name)


def deal_card(find_dictionary):
    """
    删除名片
    :param find_dictionary:
    :return:
    """

    action = input("请选择要执行的操作:"
                   "[1]修改 [2]删除 [0]返回上级菜单")

    if action == "1":
        find_dictionary["name"] = input_card_info(find_dictionary["name"], "请输入新的姓名[回车不修改]:")
        find_dictionary["phone"] = input_card_info(find_dictionary["phone"], "请输入新的电话号码[回车不修改]:")
        find_dictionary["qq"] = input_card_info(find_dictionary["qq"], "请输入新的QQ号码[回车不修改]:")
        find_dictionary["email"] = input_card_info(find_dictionary["email"], "请输入新的邮箱地址[回车不修改]:")

        print("%s 的名片修改成功" % find_dictionary["name"])

    elif action == "2":
        cards_list.remove(find_dictionary)

        print("删除成功")
    else:
        return


def input_card_info(origin_value, tips_message):
    """
    输入名片信息
    :param origin_value:名片中的旧值
    :param tips_message: 提示语
    :return:
    """
    new_value = input(tips_message)
    if len(new_value) > 0:
        return new_value
    else:
        return origin_value

个人感受

刚开始接触Python,不得不佩服Python的强大。用起来非常方便快捷,代码也十分简洁。个人觉得,Python非常适合作为入门编程的第一门语言。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值