名片管理系统

分为两个程序文件:

#  主文件  :  主要负责项目的核心业务逻辑
import card_tool

"""
重复执行1-3
1.显示界面
2.获取用户的输入
3.根据用户的输入的编号,实现不同的功能


无限循环 :程序设计一直循环  ,  一般有退出出口

死循环 :  程序写的BUG
"""

while True:
    # 显示界面
    card_tool.show_menu()
    #  获取用户的输入
    cmd_num = input('请选择执行的操作:')
    #  显示打印
    print('您选择的操作是:%s'% cmd_num)

    # 判断用户输入,实现对应功能

    if cmd_num == '1':  # 新建名片
        card_tool.add_card()        # TODO 新建名片

    elif cmd_num == '2': # 显示全部
        card_tool.show_all()

    elif cmd_num == '3': # 查询名片
        print('查询名片')
        card_tool.search_card()

    elif cmd_num == '0': # 退出系统
        print('退出系统')
        break

    else:
        print('输入有误,请重新输入!')

副程序:

# 工具文件   具体的功能实现

card_list = []
def show_menu():
    """显示界面"""
    print('*' * 30)
    print('欢迎使用名片管理系统')
    print()
    print('1.新建名片')
    print('2.显示全部')
    print('3.查询名片')
    print()
    print('0.退出系统')


def add_card():
    """新建名片"""
    print('功能:新建名片')
    # 获取用户的输入
    name_str = input('请输入姓名:')
    phone_num = input('请输入电话:')
    qq_num = input('请输入qq:')
    mail_adr = input('请输入邮箱:')

    card_info = {'name':name_str,'phone':phone_num,'qq':qq_num,'mail':mail_adr}
    # 信息添加的列表中
    card_list.append(card_info)

    print('添加%s的名片成功'% name_str)


def show_all():
    """显示全部"""
    print('功能:显示全部')

    if len(card_list) == 0:  # 没有任何名片记录
        print('提示:没有任何名片记录')
        return

    #  显示表头
    show_table_head()
    # 遍历列表,取出每个学生的信息

    for card_info in card_list:
        print('%s\t\t%s\t\t%s\t\t%s'%
              (card_info['name'],
               card_info['phone'],
               card_info['qq'],
               card_info['mail']))

    print('*' * 30)


def show_table_head():
    """设置表头"""
    print('姓名\t\t电话\t\tqq\t\t邮箱')
    print('-' * 30)


def search_card():
    """查询全部"""
    print('功能:查询名片')

    target_name = input('请输入查询的姓名:')

    for card_info in card_list:
        if card_info['name']== target_name:
            global target_card
            # 将查询的人记录下来
            target_card = card_info

            # 显示表头
            show_table_head()
            # 格式化输出
            print('%s\t\t%s\t\t%s\t\t%s' %
                  (card_info['name'],
                   card_info['phone'],
                   card_info['qq'],
                   card_info['mail']))
            print('-' * 30)
            # 处理名片
            deal_card()
            break
    else:
        print('没有找到%s'%target_name)


def deal_card():
    """处理名片"""
    while True:
        # 获取用户的输入
        cmd_num = input('请输入对名片的操作:1.修改 / 2. 删除 / 0.返回上一级')
        if cmd_num == '1':  # 修改
            update_card()
            break

        elif cmd_num == '2':  # 删除
            remove_card()
            break

        elif cmd_num == '0':  # 退出系统

            break

        else:
            print('输入有误,请重新输入')


def update_card():
    """修改"""
    target_card['name'] = input('请输入姓名:')
    target_card['phone'] = input('请输入电话:')
    target_card['qq'] = input('请输入qq:')
    target_card['mail'] = input('请输入邮箱:')


    print('%s的名片修改名片成功'%target_card['name'])


def remove_card():
    """删除名片"""
    card_list.remove(target_card)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值