手机版
你好,游客 登录 注册
背景:
阅读新闻

Python3实现名片管理系统示例

[日期:2019-06-03] 来源:Linux社区  作者:ljkCode [字体: ]

基于Python3下的综合名片管理系统,这是一个用 Python 开发的可视化的名片管理系统,主要实现名片的添加、删除、修改三大功能。效果图如下所示

需要实现的功能:

  1.启动终端执行程序后,出现如下界面(新增,显示全部和查询)

Python实现名片管理系统示例

启动界面

  2.通过相应的选项可以实现相应的功能

Python实现名片管理系统示例

新增名片

Python实现名片管理系统示例

显示全部名片

  3.选择查找用户后,如果找到用户,提示用户进行修改或者删除操作

Python实现名片管理系统示例

主要知识点:

  1.分支结构,循环结构的使用

  2.主函数搭建框架,主要功能写在另一模块中

  3.每一个函数代码不宜太长,如果有子功能可以再封装成一个函数调用

  4.列表,字典变量的应用

  5.注释的技巧:函数添加文档注释,标记参数和返回值,以便阅读和调用时查看

         待完成的功能可以使用 #TODU 标注。

主程序:

#! /usr/bin/python3

#导入card_tools模块
import card_tools

while True:
    #显示功能菜单
    card_tools.show_menu()

    #获取用户输入内容
    user_input = input("请选择您要进行的操作:")

    #判断用户输入内容
    if user_input in ["1","2","3"]:
        if user_input == "1":
            card_tools.new_cards()
        elif user_input == "2":
            card_tools.show_all()
        else:
            card_tools.search_card()

    elif user_input == "0":

        break

    else:
        print("您的操作有误0.0,请输入0-3的数字")

    #

导入的模块:


def show_menu():
    """
    显示功能菜单函数
    """
    print()
     print("*"*50)
    print("欢迎来到名片管理系统-.-")
    print("-"*50)
     print("\t[1] 新增名片")
    print("\t[2] 显示全部")
    print("\t[3] 查询名片")
     print("\t[0] 退出系统")
    print("*"*50)



def make_tab():
    """
    打印表头
    """
     print("="*50)
    print("姓名\t\t年龄\t\t电话\t\t邮箱")
    print("-"*50)



# 创建列表用于保存键值对
#不能放到函数里面,不然每次新建名片内容都被覆盖了
card_list = []



def new_cards():
    """
     定义一个新建名片的函数,获取到用户输入的内容后,放入一个键值对当中,然后把键值对放入一个列表中
    """
    #  获取用户输入内容并用键值对保存
    name =input("请输入姓名:")
    age = input("请输入年龄:")
     tel = input("请输入电话:")
    email = input("请输入邮箱:")
    user_dict =  {"name":name,
                 "age":age,
                  "tel":tel,
                 "email":email}



    #把键值对放入列表中
    card_list.append(user_dict)



def show_all():



    """
    定义一个显示全部内容的函数,如果列表有信息就遍历,没信息提示用户输入



    """



    if len(card_list)!=0:



        make_tab()



        # 遍历列表得到用户信息字典
        for user_dict in card_list:



             # 得到用户各项信息的值 (和表头对齐)
            # for key in  ("name","age","tel","email"):
            #     print("%s\t\t" %  user_dict[key] ,end="")
            print("%s\t\t" %  user_dict["name"],end="")
            print("%s\t\t" %  user_dict["age"],end="")
            print("%s\t" %  user_dict["tel"],end="")
            print("%s\t" %  user_dict["email"],end="")
            print()
        print("="*50)



    else:
         print("当前没有任何信息,请添加新增名片")







#查询名片
def search_card():
    """
     遍历card_list得到用户键值对,再把键值对中的name的值与用户
    输入内容作比较,如果匹配到了则返回用户信息,如果没匹配到则
     提示用户没搜索到
    """
    find_name = input("请输入您要查找的姓名:")



    for key_value in card_list:



        if key_value["name"] == find_name:
             make_tab()
            # for key in  ("name","age","tel","email"):
            #     print("%s\t\t" %  key_value[key] ,end="")
            print("%s\t\t" %  key_value["name"],end="")
            print("%s\t\t" %  key_value["age"],end="")
            print("%s\t" %  key_value["tel"],end="")
            print("%s\t" %  key_value["email"],end="")
            print()
             print("="*50)



             # 处理名片(修改或者删除)



            deal_cards(key_value)
            break



    else:
        print("您所查找的名片不存在!")







def deal_cards(key_value):
    """
    找到用户后,对名片进行修改或者删除操作
     :key_value: 在查找函数中,查找到的用户信息字典
    """
    user_input_str =  input("请选择您要进行的操作: [1]修改名片 [2]删除名片 [0]返回上一层")
    if user_input_str ==  "1":
        #修改名片
        # key_value["name"]= input("姓名:")
        #  key_value["age"]= input("年龄:")
        # key_value["email"]=  input("邮箱:")
        # key_value["tel"]= input("电话:")



        key_value["name"] =  user_input_info(key_value["name"],input("姓名"))
        key_value["age"] =  user_input_info(key_value["age"],input("年龄"))
        key_value["tel"] =  user_input_info(key_value["tel"],input("电话"))
        key_value["email"] =  user_input_info(key_value["email"],input("邮箱"))
        print("修改成功!")



    elif user_input_str == "2":
        #删除名片
         card_list.remove(key_value)
        print("删除成功!")



def user_input_info(dict_value,input_value):
    """
     判断用户的输入的值,如果不是空则修改原值。否则返回原值
    :param dict_value: 字典中原有的值
    :param  input_value: 用户输入的用于修改的值
    :return: 修改后的值
    """
    if  len(input_value) == 0:
        return dict_value
    else:
         return input_value

更多Python相关信息见Python 专题页面 https://www.linuxidc.com/topicnews.aspx?tid=17

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址https://www.linuxidc.com/Linux/2019-06/158940.htm

linux
相关资讯       Python3实现名片管理系统 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款