Python 基础 之 Pycharm 实现简单的名片管理系统 - Go语言中文社区

Python 基础 之 Pycharm 实现简单的名片管理系统


Python 基础 之 Pycharm 实现简单的名片管理系统

 

目录

Python 基础 之 Pycharm 实现简单的名片管理系统

一、简单介绍

二、能学到

三、效果预览

四、实现步骤

五、关键代码


 

 

一、简单介绍

Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。Python是一种解释型脚本语言,可以应用于以下领域: Web 和 Internet开发、科学计算和统计、人工智能、教育、桌面界面开发、软件开发、后端开发、网络爬虫。

使用 Pycharm 实现简单的名片的管理系统,并不是很难,关键是用来加强自己 Python 的基础学习。

简单的名片的管理系统功能包括:1、新建名片;2、显示名片;3、查询修改删除名片;

 

二、能学到

1、Python 列表的使用;

2、Python 字典的使用;

3、Python 函数的封装;

4、input() 和 print() 的使用;

5、注意事项: 1)Python有严格的代码要求,Python 一行代码一个功能;

                         2)Python 有严格的代码是否缩进;

 

三、效果预览

 

四、实现步骤

1、打开 Pycharm ,新建一个工程,如下图

2、在工程中新建两个脚本,card_main.py 用来作为程序的入口,card_tool.py 实现名片系统的增删改查等功能

 

3、把 card_main.py 设置为运行的脚本,如下图

 

4、编写对应名片系统的显示界面,以及增删改查功能的代码,然后运行效果如下

 

五、关键代码

1、card_main.py

import card_tool

# 无限循环
while True:

    # 显示菜单
    card_tool.show_menu()

    actor_str = input("请输入您的操作:")
    print("您的操作是【%s】" % actor_str)

    if actor_str in ("1", "2", "3"):
        # pass 占位符
        # 1、保证结构正确性;2、不做任何处理; 3、方便程序后期补全
        # TODO(XAN) 新建名片
        if actor_str == "1":
            card_tool.new_card()
        # 显示全部
        elif actor_str == "2":
            card_tool.show_all()
        # 查看名片
        elif actor_str == "3":
            card_tool.search_card()

        pass
    elif actor_str == "0":
        print("欢迎再次使用【名片管理系统】")
        break
        # pass
    else:
        print("您输入的不正确,请重新输入")

 

2、card_tool.py

# 名片列表
card_list = []

def show_menu():
    """显示菜单栏"""

    print("*" * 50)
    print("欢迎来到【名片管理系统】 v 1.0")
    print("")
    print("1. 新建名片")
    print("2. 显示全部")
    print("3. 查看名片")
    print("")
    print("0. 退出系统")
    print("*" * 50)

def new_card():
    """新建名片"""
    print("-" * 50)
    print("新建名片")

    # 显示要添加的项目
    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("显示全部")

    # 如果列表为空,提示用户新增名片,并返回
    if len(card_list) == 0:
        print("名片数据为空,请新建名片")
        return

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

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

    # 显示列表信息
    for card_dict in card_list:
        print("%stt%stt%stt%s" % (card_dict["Name"],
                                        card_dict["Phone"],
                                        card_dict["QQ"],
                                        card_dict["Email"]))


def search_card():
    """查看名片"""
    print("-" * 50)
    print("查看名片")

    # 提示要查看的名片姓名
    find_name = input("查看名片的姓名:")

    # 遍历列表进行查询,并显示查到内容和操作提示,否则提示没有找到
    for card_dict in card_list:
        if card_dict["Name"] == find_name:
            print("姓名tt电话ttQQtt邮箱")
            print("=" * 50)
            print("%stt%stt%stt%s" % (card_dict["Name"],
                                            card_dict["Phone"],
                                            card_dict["QQ"],
                                            card_dict["Email"]))

            # TODO(XAN) 针对查找到的数据进行修改或者删除操作
            deal_card(card_dict)
            break
    else:
        print("名片列表中没有此人")

def deal_card(find_dict):
    """ 处理名片信息

    :param find_dict: 名片信息
    """
    # 提示用户的操作
    actor_str = input("请选择您的操作:"
                     "【1】修改 【2】删除 【0】返回上一级菜单:")

    if actor_str == "1":

        find_dict["Name"] = input_card_info(find_dict["Name"], "姓名[回车不修改内容]:")
        find_dict["Phone"] = input_card_info(find_dict["Phone"], "电话[回车不修改内容]:")
        find_dict["QQ"] = input_card_info(find_dict["QQ"], "QQ[回车不修改内容]:")
        find_dict["Email"] = input_card_info(find_dict["Email"], "邮箱[回车不修改内容]:")

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

def input_card_info(dict_value, tip_message):
    """ 需修改名片字典内容,输入为空则保留原值

    :param dict_value: 要修改的字典值
    :param tip_message: 输入提示信息
    :return: 返回最后修改的值
    """
    # 提示用户修改内容
    result_str = input(tip_message)
    # 判断输入是否为空,为空 保留原值,不为空 修改值
    if len(result_str) > 0:
        return result_str
    # 返回内容
    return dict_value

 

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/u014361280/article/details/104214959
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-01 23:17:44
  • 阅读 ( 1465 )
  • 分类:研发管理

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢