Python学习笔记之名片管理系统

主运行循环:

import cards_tools
while True:
    cards_tools.show_menu()
    action_str = input("请输入希望执行的操作:")
    # python2.7中raw_input输出str类型,input默认为int类型;Python3 input默认str类型。
    print("您选择的操作是【%s】" % action_str)
    # print("您选择的操作是【{}】" .format(action_str)) 用format也可实现
    if action_str in ["1","2","3"]:
        if action_str == "1":
            cards_tools.new_cards()
        elif action_str == "2":
            cards_tools.show_cards()
        elif action_str == "3":
            cards_tools.search_cards()
    elif action_str == "0":
        print("欢迎再次使用【名片管理系统】")
        break
    else:
        print("您输入的不正确,请重新输入")

功能模块编写:

card_list = []
#欢迎界面
def show_menu():
    print("*"*50)
    print("欢迎使用【名片管理系统V1.0】")
    print("")
    print("1.新增名片\n2.显示全部\n3.查询名片")
    #for funct in ["1.新增名片","2.显示全部","3.查询名片"]:
    #   print(funct)
    print("")
    print("0.退出系统")
    print("*"*50)

#新增名片
def new_cards():
    print("="*50)
    print("新增名片")
    name_str = input("请输入姓名:")
    age_str = input("请输入年龄:")
    phone_str = input("请输入电话号码:")
    qq_str = input("请输入QQ号码:")

    card_dict = {"name":name_str,
                 "age":age_str,
                 "phone":phone_str,
                 "qq":qq_str
    }
    card_list.append(card_dict)
    print(card_list)
    print("名片添加成功!")

#显示全部名片
def show_cards():
    print("=" * 50)
    print("显示全部名片")
    if len(card_list) == 0:
        print("当前没有名片信息,请先新增名片!")
        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["age"],
                                       card_dict["phone"],
                                       card_dict["qq"]))
#查找名片
def search_cards():
    print("="*50)
    print("查询名片")
    find_name = input("请输入要查询的姓名:")
    for card_dict in card_list:
        if card_dict["name"] == find_name:
            print("姓名:%s\n年龄:%s\n电话:%s\nqq:%s" %(card_dict["name"],
                                                       card_dict["age"],
                                                       card_dict["phone"],
                                                       card_dict["qq"]))
            deal_card(card_dict)
            break
    else:
        print("抱歉,没有找到%s" %find_name)

#查询名片补充,对找到的名片进行修改或删除
def deal_card(find_dict):
    action_str = input("请输入您要执行的操作"
                       "【1】修改名片 【2】删除名片 【3】返回上级菜单:")
    if action_str == "1":
        find_dict["name"] = input_card_info(find_dict["name"],"姓名:")
        find_dict["age"] = input_card_info(find_dict["age"],"年龄:")
        find_dict["phone"] = input_card_info(find_dict["phone"],"电话:")
        find_dict["qq"] = input_card_info(find_dict["qq"],"qq:")
        print("修改名片成功!")


    if action_str == "2":
        card_list.remove(find_dict)
        print("删除名片成功!")

#修改名片补充,如果用户只修改电话或年龄
def input_card_info (dict_value, tip_message):
    result_str =input(tip_message)
    if len(result_str) > 0:
        return result_str
    else:
        return dict_value


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值