python实现简易名片管理系统
作者:我是小海星 时间:2022-12-23 13:14:53
本文实例为大家分享了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('名片不存在!!!')
执行结果
来源:https://blog.csdn.net/weixin_41803249/article/details/115556387
标签:python,名片管理系统


猜你喜欢
python类参数定义及数据扩展方式unsqueeze/expand
2023-08-07 21:56:42

解决出现SoapFault (looks like we got no XML document)的问题
2023-11-19 04:21:01
Python自动发邮件脚本
2022-12-31 18:31:29

python如何统计序列中元素
2022-03-04 16:32:16
使用python 爬虫抓站的一些技巧总结
2021-01-02 07:35:57

css清除浮动“clear:both;”的应用
2008-03-17 12:54:00
通过gradio和摄像头获取照片和视频实现过程
2023-07-08 18:02:30

OpenCV实战之实现手势虚拟缩放效果
2023-04-06 12:51:09

vue iview的菜单组件Mune 点击不高亮的解决方案
2024-06-07 15:20:08
Python实现字符串反转的常用方法分析【4种方法】
2022-01-05 04:08:08
pandas库中 DataFrame的用法小结
2021-08-11 00:54:01

如何用python写一个简单的词法分析器
2022-08-02 00:11:11

python调用系统中应用程序的函数示例
2021-01-18 11:06:32

Python使用random模块生成随机数操作实例详解
2022-06-28 21:50:27
Python知识点详解之正则表达式语法
2022-02-08 17:01:31
python中的type,元类,类,对象用法
2022-08-24 09:54:55
Docker如何部署Python项目的实现详解
2022-01-16 07:30:31

workerman写mysql连接池的实例代码
2024-01-20 02:52:26
ERROR 1222 (21000): The used SELECT statements have a different number of columns
2024-01-15 02:31:28
Python机器学习算法之决策树算法的实现与优缺点
2023-06-20 18:29:44
