搭建框架
- 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("查无此人")