本文实例为大家分享了python实现名片管理系统的具体代码,供大家参考,具体内容如下
功能需求
- 用户输入数字选择要进行的操作
- 添加名片
- 删除名片
- 修改名片
- 查询名片
- 显示所有名片
- 退出系统
缺点(待改进)
数据未保存到后台,添加的数据仅限当次运行程序时使用
话不多说,上代码!
主程序
# coding=utf8 from method import * # 导入定时器是为了方便观察每次操作的结果 from time import sleep cards = [] # 让这个程序无限循环,直到用户想要其终止 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(\'名片不存在!!!\')
执行结果
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自学编程网。