需求
:::info
- 程序启动,显示名片管理系统欢迎界面,并显示功能菜单
- 用户用数字选择不同的功能:
新建名片、显示名片、查询名片、退出系统- 用户名片需要记录用户的
姓名、电话、QQ、邮件 - 显示名片可以列举出所有已经保存的名片
- 如果查询到指定的名片,用户可以选择
修改、删除名片 :::
菜单功能
菜单需要多次输出,所以可以放在死循环中,如果退出程序直接break循环即可while True:print('*' * 50)print('欢迎使用[名片管理系统]V1.0')print()print('1.新建名片')print('2.显示名片')print('3.查询名片')print()print('0.退出系统')print('*' * 50)
3. 输入处理
输入不同的数字代表不同的操作while True:# ...type = int(input('请输入执行的操作:'))if type == 1:# 新建名片elif type == 2:# 显示全部elif type == 3:# 搜索名片elif type == 0:break
新建名片
1、定义列表保存所有的名片
名片包含四个属性,可以再通过列表按照cardList = [] # 名片数据列表 [姓名,电话,qq,email]
姓名、电话、qq、email的顺序保存
- 用户名片需要记录用户的
2、定义createCard创建名片函数
def createCard():'''创建新名片:return:'''print('您选择的功能是: 1')print('功能: 新建名片')name = input('请输入姓名:')phone = input('请输入电话:')qq = input('请输入QQ:')email = input('请输入邮箱:')# 每一个名片是列表数据# [姓名,电话,qq,email]card = [name,phone,qq,email]# 添加到列表中cardList.append(card)
3、在循环中调用
while True:...type = int(input('请输入执行的操作:'))if type == 1:# 新建名片createCard()...
显示全部
1、定义显示所有名片的showAll函数
def showAll():'''显示所有的名片:return:'''print('您选择的功能: 2')print('功能提示: 显示全部')# 表头print('姓名\t电话\tQQ\t邮件')print('-'*50)# 找到所有的名片并打印for card in cardList:# name = card[0]# phone = card[1]# qq = card[2]# email = card[3]print('%s\t%s\t%s\t%s' % tuple(card))print('-'*50)
2、调用
while True:#...type = int(input('请输入执行的操作:'))#...elif type == 2:showAll()
查询名片
搜索名片
1、定义searchCard函数
def searchCard():'''查询名片:return:'''print('您选择的功能是: 3')print('功能: 查询名片')name = input('请输入查询的姓名:')# 查询名片for card in cardList:# 判断当前card的名字和name是否相同if card[0]==name:# 找到了# 执行其它的操作handleCard(card)# 退出当前的循环breakelse:print('没有找到对应的用户:%s'%name)
其中handleCard函数是对搜索的结果进行处理,后面实现
2、调用
while True:...type = int(input('请输入执行的操作:'))...elif type == 3:searchCard()
操作名片
handleCard函数是对搜索的名片操作
def handleCard(card):'''处理名片:param card::return:'''while True:type = int(input('请输入对名片的操作: 1.修改/ 2.删除/ 0.返回上一级:'))# 根据不同的type做判断if type==1:# 修改modifyCard(card)# 跳出循环breakelif type==2:# 删除deleteCard(card)breakelif type==0:# 返回上一级breakelse:print('输入错误,请重新输入')
输入1进行修改,对应modifyCard函数
输入2进行删除,对应deleteCard函数
修改名片modifyCard
def modifyCard(card):'''修改名片:param card::return:'''# 修改名片card[0] = input('请输入姓名:')card[1] = input('请输入电话:')card[2] = input('请输入QQ:')card[3] = input('请输入邮箱:')
删除名片deleteCard
def deleteCard(card):'''删除名片:param card: 名片列表:return:'''cardList.remove(card)
