Python名片管理系统

搭建框架

  • crads_main.py : 主功能代码
  • crads_tools.py : 保存所有名片功能函数

项目架构

  • 使用if判断用户操作, 使用pass占位, 后续补全操作方法
  • crads_main.py
from cards_tools import *

while True:
    try:
        action = int(input("请选择要做的操作:"))
        # 新增名片
        if action == 1:
            pass
        # 查询所有名片
        elif action == 2:
            pass
        # 根据名称查询名片
        elif action == 3:
            pass
        # 修改名片
        elif action == 4:
            pass
        # 删除名片
        elif action == 5:
            pass
        elif action == 0:
            print('Bye!')
            break
    except:
        print('输入不正确, 请重新输入 ! ! !')

TUDO注释

  • TUDO : 在#后面加上TUDO, 用来标记要做的工作
#TUDO() 显示系统菜单

显示功能菜单

  • 在crads_tools文件里添加一个show_menu方法, 用来显示功能菜单
def show_menu():
    print('*' * 20)
    print('欢迎使用[名片管理系统]')
    print('1. 新建名片')
    print('2. 显示全部')
    print('3. 查询名片')
    print('4. 修改名片')
    print('5. 删除名片')
    print()
    print('0. 退出系统')
    print('*' * 20)

准备名片功能函数

cards_tools.py

def new_card():
    """新增名片"""
    print("新增名片")


def show_all():
    """显示所有名片"""
    print("显示所有名片")


def search_card():
    """查询名片"""
    pass


def update_card():
    """修改名片"""
    pass


def delete_card():
    """删除名片"""
    pass

数据结构

  • 使用列表保存名片字典

新增名片

card_tools.py

def new_card():
    """新增名片"""
    name = input('请输入姓名: ')
    phone = int(input('请输入手机号: '))
    email = input('请输入邮箱: ')

    card_dict = {
        'name': name,
        'phone': phone,
        'email': email
    }
    card_list.append(card_dict)
    print(card_dict)
    print("添加用户成功")

判断手机号和email是否符合规则

  • 使用正则表达式
def new_card():
    while True:
        """新增名片"""
        name = input('请输入姓名: ')

        phone = input('请输入手机号: ')
        r1 = re.match(r'^1([358][0-9]|4[579]|66|7[0135678]|9[89])[0-9]{8}$', phone)
        if r1:
            print("手机号符合要求")
        else:
            print("不符合要求,请重新输入")
            continue
        email = input('请输入邮箱: ')
        r2 = re.match(r"[a-zA-Z0-9_]{4,20}@(163|126)\.com$", email)
        if r2:
            print("邮箱符合要求")
            break
        else:
            print("不符合要求,请重新输入")
            continue
    card_dict = {
        'name': name,
        'phone': phone,
        'email': email
    }
    card_list.append(card_dict)
    print(card_dict)
    print("添加用户成功")

显示所有名片

def show_all():
    if len(card_list) == 0:
        print("没有数据")
        return
    """显示所有名片"""
    print("姓名\t\t电话\t\t邮箱")
    print("-" * 40)
    for cards in card_list:
        print("%s\t\t%s\t\t%s" % (cards['name'],
                                  cards['phone'],
                                  cards['email']
                                  ))

查询名片

def search_card():
    """查询名片"""
    name = input("请输入姓名:")
    for card in card_list:
        if card['name'] == name:
            print("姓名\t\t电话\t\t邮箱")
            print("%s\t\t%s\t\t%s" % (card['name'],
                                      card['phone'],
                                      card['email']
                                  ))

修改名片

def update_card():
    """修改名片"""
    name = input("请输入要修改名片的姓名: ")

    for card in card_list:
        if name in card.values():
            if card['name'] == name:
                name1 = input("请输入修改后的姓名: ")
                phone = input("请输入手机号: ")
                email = input("请输入邮箱")
                card['name'] = name1
                card['phone'] = phone
                card['email'] = email
        else:
            print("查无此人")

删除名片

def delete_card():
    """删除名片"""
    name = input("请输入要删除的名片: ")
    for cards in card_list:
        if name in cards.values():
            del cards['name']
        else:
            print("查无此人")
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值