python实现简易名片管理系统

时间:2021-05-22

本文实例为大家分享了python实现名片管理系统的具体代码,供大家参考,具体内容如下

功能需求

  • 用户输入数字选择要进行的操作
  • 添加名片
  • 删除名片
  • 修改名片
  • 查询名片
  • 显示所有名片
  • 退出系统

缺点(待改进)

数据未保存到后台,添加的数据仅限当次运行程序时使用

话不多说,上代码!

主程序

# coding=utf8from method import *# 导入定时器是为了方便观察每次操作的结果from time import sleepcards = []# 让这个程序无限循环,直到用户想要其终止while True: sleep(1) menu() ope_num = input('请输入要进行的操作(1-6): ') if ope_num == '1': addinfo(cards) elif ope_num == '2': delinfo(cards) elif ope_num == '3': updateinfo(cards) elif ope_num == '4': searchinfo(cards) elif ope_num == '5': showinfo(cards) elif ope_num == '6': sure = input('你确定要退出系统吗(YES/NO)') if sure.upper() == 'YES': break else: print('输入错误,请重新输入!!!(数字1-6)')

函数文件

# 定义一个menu方法def menu(): print('------------------\n' '\t名片管理系统\n' '1:添加名片\n' '2:删除名片\n' '3:修改名片\n' '4:查询名片\n' '5:显示所有名片\n' '6:退出系统\n' '------------------')# 添加名片def addinfo(lists): # 定义一个字典,存放这个名片的信息 info = {} # 获取姓名 def getname(): name = input('请输入姓名: ') # 判断姓名是否由 数字、字母、数字和字母 组成,即:不能包含标点符号和空格,不能为空 # 如果不符合要求,提示检查,并重新输入 # 一直提示用户输入,直到符合要求 while name.isalnum() != True: print('请检查输入!!! (不能包含标点符号和空格,不能为空) ') name = input('请输入姓名: ') return name # 获取手机号 def getphone(): phone = input('请输入手机号: ') # 判断手机号是否由 11位数字 组成 # 如果不符合要求,提示检查,并重新输入 while (len(phone) != 11) or (phone.isdigit() != True): print('请检查输入!!! (由11位纯数字组成,不能为空) ') phone = input('请输入手机号: ') return phone # 获取QQ号 def getqq(): qq = input('请输入QQ号: ') # 判断QQ号是否由 5-10位数字 组成 # 如果不符合要求,提示检查,并重新输入 while ((len(qq) < 5) or (len(qq) > 10)) or (qq.isdigit() != True): print('请检查输入!!! (由5-10位纯数字组成,不能为空) ') qq = input('请输入QQ号: ') return qq # 如果该名片的序号为,列表长度+1 info['num'] = len(lists) + 1 # 通过调用其他函数获取对应信息 info['name'] = getname() info['phone'] = getphone() info['qq'] = getqq() # 将该字典存入名片列表中 lists.append(info) print('添加成功!') showinfo(lists)# 输出所有名片列表def showinfo(lists): print('序号\t姓名\t\t手机号\t\tQQ号'.ljust(30)) for lis in lists: for value in lis.values(): print(value, end='\t') print('\n')# 删除名片def delinfo(lists): del_name = input('请输入您需要删除名片的姓名: ') flag = True for lis in lists: if lis['name'] == del_name: lists.remove(lis) print('删除成功!') showinfo(lists) flag = False break if flag == True: print('名片不存在!!!')# 修改名片def updateinfo(lists): upd_name = input('请输入您需要修改名片的姓名: ') flag = True for lis in lists: if lis['name'] == upd_name: lis['name']=input('请输入新姓名: ') lis['phone']=input('请输入新手机号: ') lis['qq']=input('请输入新QQ号: ') print('修改成功!') showinfo(lists) flag = False break if flag == True: print('名片不存在!!!')# 查询名片def searchinfo(lists): se_name = input('请输入您需要查询的姓名: ') flag = True for lis in lists: if lis['name'] == se_name: print('序号\t姓名\t\t手机号\t\tQQ号'.ljust(30)) for value in lis.values(): print(value, end='\t') print('\n') flag = False break if flag == True: print('名片不存在!!!')

执行结果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章