• python_名片管理系统


    基于python2.7

    cards_mian.py

    #encoding=utf-8
    import cards_tools
    
    while True:
        cards_tools.show_menu()
        action_str = input("请选择你希望执行的操作:")
        print ("您选择的操作是【%s】" % action_str)
        if action_str in [1,2,3]:
            if action_str == 1:
                cards_tools.creat_card()
            elif action_str == 2:
                cards_tools.show_all()
            elif action_str == 3:
                cards_tools.serch_card()
        elif action_str == 0:
            print ("欢迎再次使用【名片管理系统】")
            break
        else:
            print("您输入的不正确,请重新输入")

    cards_tools.py

    #encoding=utf-8
    from __future__ import print_function
    card_list = []
    
    def show_menu():
        """显示菜单"""
        print ("*" * 50)
        print("欢迎使用【名片管理系统】 v1.0")
        print("")
        print("1. 新增名片")
        print("2. 显示全部")
        print("3. 搜索名片")
        print("")
        print ("0. 退出系统")
        print("*" * 50)
    
    def creat_card():
        print ("-" * 50)
        print ("增加名片")
    
        #1:提示用户输入名片详细信息
        name_str = raw_input("请输入姓名:")
        phone = raw_input("请输入电话:")
        qq = raw_input("请输入qq:")
        email = raw_input("请输入邮箱:")
    
        #2:将用户输入的信息放入字典之中
        card_dict = {"name":name_str,
                     "phone":phone,
                     "qq":qq,
                     "email":email}
    
        #3将字典加入列表之中
        card_list.append(card_dict)
        #4显示名片添加成功
        print("添加 %s 的名片成功!" % name_str)
    
    
    def show_all():
        # type: () -> object
        print ("-" * 50)
        print ("显示所有名片")
        # 判断是否有名片记录,如果没有提示用户
        if len(card_list) == 0:
            print("当前没有任何的名片记录,请使用新增功能添加名片!")
            return
        #打印表头
        for name in ["姓名","电话","QQ","邮箱"]:
            print (name,end="		")
        print ("")
        for card_dict in card_list:
            print ("%s		%s		%s		%s" % (card_dict["name"],
                                             card_dict["phone"],
                                             card_dict["qq"],
                                             card_dict["email"]))
    
    
    
    def serch_card():
        print ("-" * 50)
        print ("搜索名片")
        #1提示用户输入搜索的姓名
        find_name = raw_input("请输入需要搜索的姓名:")
        #2遍历名片列表,查询搜索的姓名,如果没找到,提示用户
        for card_dict in card_list:
            if card_dict["name"] == find_name:
                print("姓名		电话		qq		邮箱")
                print("-" * 50)
                print("%s		%s		%s		%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_dict):
        """
        处理查找到的名片
    
        :param find_dict: 查找到的名片
        """
        print(find_dict)
        action_str =input ("请选择需要执行的操作"
                      "1 修改 2 删除 0 返回上级菜单")
        print(action_str)
        if action_str == 1:
            find_dict["name"] = input_card_info(find_dict["name"],"姓名:")
            find_dict["phone"] = input_card_info(find_dict["name"],"电话:")
            find_dict["qq"] = input_card_info(find_dict["name"],"QQ:")
            find_dict["email"] = input_card_info(find_dict["name"],"邮箱:")
            print ("修改名片成功!")
        elif action_str == 2:
            card_list.remove(find_dict)
            print("删除名片成功!")
    
    
    def input_card_info(dict_value,tip_message):
        #1提示用户输入内容
        """
    
        :param dict_value: 字典中原有的值
        :param tip_message: 输入的提示文字
        :return: 如果用户输入了内容,就返回内容,否则就返回字典中原有的值
        """
    
        result_str = raw_input(tip_message)
        #2针对用户输入的内容进行判断,如果用户输入了内容,直接返回结果
        if len(result_str) > 0:
            return result_str
        #3如果用户没有输入内容,返回`字典中原有的值`
        else:
            return dict_value
        pass
    学习记录,小白一枚
  • 相关阅读:
    数据类型
    注释
    编译型语言和解释型语言
    POJ1026 Cipher(置换的幂运算)
    最短路(代码来源于kuangbin和百度)
    POJ1753 Flip Game(bfs、枚举)
    POJ1860 Currency Exchange(bellman-ford)
    【转】博弈—SG函数
    【转】欧几里得与扩展欧几里得
    HDU 5833 Zhu and 772002(高斯消元)
  • 原文地址:https://www.cnblogs.com/wangsirde0428/p/14590718.html
Copyright © 2020-2023  润新知