python基础系列教程(2)——基础综合运用【名片管理系统】

1.主逻辑实现

1.1 模块划分

总共分为两个文件来写这个系统

  • card_main.py 主文件主要负责以下功能:
    • 显示欢迎界面
    • 获取用户输入
    • 根据用户输入执行对应操作(1-新建名片,2-显示全部名片,3-查询名片,4-退出系统)
    • 重复以上步骤
  • card_tool.py 工具文件主要负责负责以下功能:
    • 新增名片
    • 修改名片
    • 查询名片
    • 删除名片

1.2 主逻辑编写

  • card_main.py
import card_tool

while True:
    card_tool.show_meun()
    get_num = input('请选择要执行的操作:')

    if get_num == '1':
        print('新建名片')
    elif get_num == '2':
        print('显示全部')
    elif get_num == '3':
        print('查找名片')
    elif get_num == '0':
        print('退出系统')
        break
    else:
        print('输入错误,重新输入')
  • card_tool.py
def show_meun():
    print('-'*30)
    print('欢迎使用名片管理系统')
    print('-'*30)

2. 新建名片实现

  • card_tool.py
# 新建名片功能
card_list=[]
def add_card():
    print('功能:新建名片')
    # 获取名片信息
    name=input('请输入姓名:')
    phone=input('请输入电话:')
    qq=input('请输入qq:')
    mail=input('请输入邮箱:')

    # 将信息封装入字典
    card_info={name:name,phone:phone,qq:qq,mail:mail}

    # 将单条信息加入列表
    card_list.append(card_info)

    # 成功提示
    print('新增姓名为%s的名片成功!'% name)

3. 显示全部名片

  • card_tool.py
def show_card():
    print('功能:显示全部名片')
    if len(card_list) == 0:
        print('提示:当前名片无内容,请添加名片后操作')
        return 
    print('姓名\t\t电话\t\tQQ\t\t邮箱\t\t')
    print('-' * 30)
    for card_info in card_list:
        print(card_info['name']+'\t\t'+card_info['phone']+'\t\t'+card_info['qq']+'\t\t'+card_info['mail'])

4. 查询功能

  • card_tool.py
def show_head():
    print('姓名\t\t电话\t\tQQ\t\t邮箱\t\t')
    print('-' * 30)

#根据名字查找
def search_card():
    print('功能:根据名字查找名片')
    search_name = input('请输入需要查询的name:')
    for card_info in card_list:
        if card_info['name'] == search_name:
            show_head()
            print(card_info['name'] + '\t\t' + card_info['phone'] + '\t\t' + card_info['qq'] + '\t\t' + card_info['mail'])
            print('-' * 30)

        #高级用法:对这一行进行修改,删除
        pass
        break
    else:
        print('没有找到这个名片')

5. 修改与删除,返回上一层

  • card_tool.py
def advance_func(card_info):
    while True:
        num = input('请输入对这一行的操作:1-修改,2-删除,0-返回上一层')
        if num == '1':
            update_card(card_info)
            break
        elif num == '2':
            delete_card(card_info)
        elif num == '0':
            break
        else:
            print('输入有误,重新输入')

# 修改名片
def update_card(card_info):
    card_info['name'] = input('请输入要修改的name:')
    card_info['phone'] = input('请输入要修改的phone:')
    card_info['qq'] = input('请输入要修改的qq:')
    card_info['mail'] = input('请输入要修改的mail:')
    print('姓名为%s的名片已经修改完毕' % card_info['name'])

#删除名片    
def delete_card(card_info):
    card_list.remove(card_info)
    print('名片删除成功')

6.管理系统代码

'''
1.显示欢迎界面
2.获取用户输入
3.执行对应操作(1-新建名片,2-显示全部名片,3-查询名片,4-退出系统)
重复123
'''
# 引入主文件模块
import card_tool

while True:
    card_tool.show_meun()
    get_num = input('请选择要执行的操作:')

    if get_num == '1':
        card_tool.add_card()
    elif get_num == '2':
        card_tool.show_card()
    elif get_num == '3':
        card_tool.search_card()
    elif get_num == '0':
        print('退出系统')
        break
    else:
        print('输入错误,重新输入')

# 欢迎界面
def show_meun():
    print('-'*30)
    print('欢迎使用名片管理系统')
    print('-'*30)
    print('1 - 新建名片')
    print('2 - 显示全部名片')
    print('3 - 查询名片')
    print('4 - 退出系统')


# 新建名片功能
card_list=[]
def add_card():
    print('功能:新建名片')
    # 获取名片信息
    name_str=input('请输入姓名:')
    phone_int=input('请输入电话:')
    qq_int=input('请输入qq:')
    mail_str=input('请输入邮箱:')

    # 将信息封装入字典
    card_info = {'name': name_str, 'phone': phone_int, 'qq': qq_int, 'mail': mail_str}

    # 将单条信息加入列表
    card_list.append(card_info)

    # 成功提示
    print('新增姓名为%s的名片成功!' % name_str)

# 显示全部名片
def show_card():
    print('功能:显示全部名片')
    if len(card_list) == 0:
        print('提示:当前名片无内容,请添加名片后操作')
        return
    show_head()
    for card_info in card_list:
        print(card_info['name']+'\t\t'+card_info['phone']+'\t\t'+card_info['qq']+'\t\t'+card_info['mail'])
    print("-" * 30)

def show_head():
    print('姓名\t\t电话\t\tQQ\t\t邮箱\t\t')
    print('-' * 30)

# 根据名字查找
def search_card():
    print('功能:根据名字查找名片')
    search_name = input('请输入需要查询的name:')
    for card_info in card_list:
        if card_info['name'] == search_name:
            show_head()
            print(card_info['name'] + '\t\t' + card_info['phone'] + '\t\t' + card_info['qq'] + '\t\t' + card_info['mail'])
            print('-' * 30)

        # 高级用法:对这一行进行修改,删除,返回上一级
        advance_func(card_info)
        break
    else:
        print('没有找到这个名片')

#高级功能实现
def advance_func(card_info):
    while True:
        num = input('请输入对这一行的操作:1-修改,2-删除,0-返回上一层')
        if num == '1':
            update_card(card_info)
            break
        elif num == '2':
            delete_card(card_info)
        elif num == '0':
            break
        else:
            print('输入有误,重新输入')

# 修改名片
def update_card(card_info):
    card_info['name'] = input('请输入要修改的name:')
    card_info['phone'] = input('请输入要修改的phone:')
    card_info['qq'] = input('请输入要修改的qq:')
    card_info['mail'] = input('请输入要修改的mail:')
    print('姓名为%s的名片已经修改完毕' % card_info['name'])

#删除名片
def delete_card(card_info):
    card_list.remove(card_info)
    print('名片删除成功')

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值