zoukankan      html  css  js  c++  java
  • python名片管理系统V2

    主程序:

    #! /usr/bin env python3
    # -*- coding: utf-8 -*-
    
    # 项目三:
    # 1、要求:编写一个名片管理系统,功能如下:
    # 用户输入相对应的指令,实现对名片进行增、删、改、查的功能
    
    # 2、分析
    # 首先要定义python文件,一个是对程序进行操作的python文件(入口程序),另一个是作为工具的python文件,然后添加以下功能
    # (1)增:
    # 为增的功能做一个函数,当用户输入指令为增时,提供用户输入信息,如:姓名、年龄、工号、工资等,保存用户录入的信息。
    # 当有多个用户录入信息时,录入的信息采用字典的方式保存每个用户的详细信息,再用列表来保存每个用户的信息
    # (2)查:
    # 为查看的功能做一个函数,当用户输入查看功能时,将所有用户的详细信息都逐一展示出来。
    # (3)修改和删除:
    # 先做一个搜索的功能的函数,用户只需要输入人名、工号,如果存在于字典中,则显示出被搜索到的人的所有详细信息,
    # (3.1)添加删除功能,用户输入删除指令后,删除被搜索到的人的所有信息
    # (3.2)添加修改功能,用户输入修改指令后,对被搜索到的人的详细信息逐一进行修改
    import hw_02_名片管理系统工具
    
    print("*" * 50)
    print("欢迎进入名片管理系统")
    print("*" * 50)
    
    while True:
        print("本系统功能:【1】新增名片 【2】查看所有名片信息 【3】 搜索名片 [0] 退出")
        user = input("请选择你的功能:")
    
        # 1,2,3针对名片的操作
        if user in ["1", "2", "3"]:
    
            # 新增名片
            if user == "1":
                hw_02_名片管理系统工具.card_add()
                print(hw_02_名片管理系统工具.cards_list)
                # 显示所有
            elif user == "2":
                hw_02_名片管理系统工具.show_all()
            # 搜索名片
            elif user == "3":
                hw_02_名片管理系统工具.card_serach()
    
        elif user == "0":
            print("欢迎再次使用【名片管理系统】")
            break
        else:
            print("非法输入")

    工具程序:

    #!/usr/bin/env python3
    # -*- coding: UTF-8 -*-
    
    # 记录所有的名片字典
    cards_list = []
    
    
    def card_add():
        """ 新增名片
    
        """
        print("新增名片")
        user_name = input("请输入你的姓名:")
        user_phone = input("请输入你的电话:")
        user_qq = input("请输入你的QQ:")
        user_email = input("请输入你的邮箱:")
    
        # 用户输入的信息建立添加到名片字典
        cards_dict = {
            "name": user_name,
            "phone": user_phone,
            "qq": user_qq,
            "email": user_email
        }
    
        # 将名片字典添加到列表中
        cards_list.append(cards_dict)
        print("添加成功")
    
    
    def show_all():
        """显示所有名片"""
    
        print("-" * 50)
        print("查看所有名片")
    
        # 判断是否存在名片记录
        if len(cards_list) > 0:
    
            # 打印表头
            for header in ["姓名","电话","QQ","email"]:
                print(header,end="		")
            print("")
            print("=" * 50)
    
            # 遍历名片列表依次输出字典信息
            for card_dict in cards_list:
                print("%s		%s		%s		%s" %(
                    card_dict["name"],
                    card_dict["phone"],
                    card_dict["qq"],
                    card_dict["email"]
                ))
        else:
            print("还未添加名片,请按【1】新增名片")
    
    
    def card_serach():
        """
        搜索名片
        :return:
        """
        print("搜索名片")
        print("-" * 50)
        user_find = input("请输入要查找的信息:")
        # 遍历名片列表,查询要搜索的姓名,电话,qq,email,如果没有找到,要提示用户
        for card_dict in cards_list:
            if (card_dict["name"] == user_find or
                card_dict["phone"] == user_find or
                card_dict["qq"] == user_find or
                card_dict["email"] == user_find
            ):
                print("找到了")
                print(card_dict)
    
                # 针对找到的名片信息执行修改和删除的操作
                deal_card(card_dict)
                break
    
        else:
            print("没有找到")
    
    
    def deal_card(find_dict):
        """处理查找到的名片
    
        :param find_dict: 查找到的名片
        """
        user_input_info = input("请选择功能:【1】修改 【2】删除 ")
        if user_input_info == "1":
            find_dict["name"] = input_info_card(find_dict["name"],"姓名:")
            find_dict["phone"] = input_info_card(find_dict["phone"],"电话:")
            find_dict["qq"] = input_info_card(find_dict["qq"],"QQ: ")
            find_dict["email"] = input_info_card(find_dict["email"],"邮箱:")
            print("修改名片成功!")
    
        elif user_input_info == "2":
    
            cards_list.remove(find_dict)
            print("删除成功")
        else:
            print("非法输入")
    
    
    def input_info_card(dict_value,prompt):
        """输入名片信息
    
        :param dict_value: 字典中原有的值
        :param prompt:  输入的提示信息
        :return: 如果用户输入了内容,就返回内容,否则返回字典中原有的值
        """
        user_change_info = input(prompt)
        if user_change_info:
            return user_change_info
        else:
            print("您输入的为空")
            return dict_value
  • 相关阅读:
    使用VIRTUALBOX安装ANDROID系统 | 图文教程 | 相关设置
    android-x86 下载地址
    java 返回某一天的周日和现在这一周的周日
    使用github上的开源框架SlidingMenu环境的搭建,以及getSupportActionBar方法不能找到的问题
    UI 组件
    git 初始化
    Android,visibility属性
    android去掉标题栏
    error opening trace file: No such file or directory (2) ,can't load transform_config.xml
    Ubuntu下解压缩文件
  • 原文地址:https://www.cnblogs.com/fyknight/p/9160298.html
Copyright © 2011-2022 走看看