IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python编写【名片管理系统】 -> 正文阅读

[Python知识库]Python编写【名片管理系统】

  • 需求:
    • 1、用户使用数字选择不同的功能;
    • 2、根据功能选择,执行对应的功能;
    • 3、需要记录用户的 姓名、电话、QQ、邮件
    • 4、查询到指定名片 用户可以选择 修改、删除名片操作;
  • 实现步骤:
    • 1、框架搭建
    • 2、不同功能的函数定义
    • 3、Linux下运行
  • 文件命名:
    • 在cards_tools.py文件中定义需要使用的函数;
    • 在cards_main.py文件中引用定义的函数;
cards_main.py   # 框架文件
cards_tools.py  # 定义函数文件

cards_main.py文件:

import cards_tools
while True:
    cards_tools.show_menu()
    action_str = input("请选择希望执行的操作:")
    print("您选择的操作是【%s】" % action_str)

    if action_str in ["1", "2", "3"]:
        pass
        if action_str == "1":
            # 新增名片
            cards_tools.new_card()
        elif action_str == "2":
            # 查看所有名片
            cards_tools.show_all()
        elif action_str == "3":
            # 搜索名片
            cards_tools.search_card()

    elif action_str == "0":
        print("欢迎再次使用【名片管理系统】")
        break
    else:
        print("选择操作无效!请重新再次选择")

cards_tools.py文件:

card_list = []


def show_menu():
    """首页显示"""
    print('*' * 50)
    print('')
    print('欢迎使用【名片管理系统】V 1.0')
    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('%s 成功添加' % name_str)


def show_all():
    """显示所有名片"""
    print('*' * 50)
    print('显示所有名片')
    if len(card_list) == 0:
        print('没有任务名片,请进行添加后查询!')
        return
        # return 可以返回一个函数的执行结果
        # 如果 return 后面没有任何内容 表示会返回到调用函数的位置 并且不返回任何的结果
        # 下方代码不会被执行
    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('搜索函数')
    find_name = input('请输入您要查询的名字:')

    for card_dict in card_list:
        if card_dict["name"] == find_name:
            print("姓名\t\t电话\t\t QQ\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_name):
    """处理查找到的名片

    :param find_name: 查找到的名片
    :return:
    """
    # print(find_name)
    action_str = input('请输入要执行的操作 '
                       '[1] 修改 [2]删除 [0]返回上级菜单')

    if action_str == "1":
        find_name["name"] = input_card_info(find_name["name"], '姓名[回车不修改]:')
        find_name["phone"] = input_card_info(find_name["phone"], '电话[回车不修改]:')
        find_name["qq"] = input_card_info(find_name["qq"], 'QQ[回车不修改]:')
        find_name["email"] = input_card_info(find_name["email"], '邮箱[回车不修改]:')
        print('修改名片成功!')
    elif action_str == "2":
        print('删除名片 %s 成功!' % find_name['name'])
        card_list.remove(find_name)


def input_card_info(find_value, tip_message):
    """输入名片信息

    :param find_value: 查找到字典中原有的值
    :param tip_message: 输入的提示文字
    :return: 如果用户输入内容 则返回内容 ,用户没有输入内容 则返回原有内容
    """

    result_str = input(tip_message)
    if len(result_str) > 0:
        return result_str
    else:
        return find_value

Linux下运行

[root@haimati ~]# yum -y install dos2unix
[root@haimati ~]# dos2unix cards_main.py 
[root@haimati ~]# dos2unix cards_tools.py 

[root@haimati ~]# head -1 cards_main.py  # 添加python3解释器路径(Shebang)
#!/usr/bin/python3
[root@haimati ~]# chmod +x cards_main.py
[root@haimati ~]# ./cards_main.py

或者 直接使用python3解释器执行脚本:

[root@haimati ~]# python3 cards_main.py
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-02-04 10:59:51  更:2022-02-04 11:01:20 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 2:46:55-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码