python实现简易名片管理系统
作者:我是小海星 发布时间:2022-12-23 13:14:53
标签:python,名片管理系统
本文实例为大家分享了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


猜你喜欢
- 企业管理器中的Tools,Database Maintenance Planner,可以设置数据库的定期自动备份计划。并
- 通过亲密性原则,我们可以将一个页面中的元素按照某种逻辑理解上的差异划分成不同的元素组合;再通过对齐原则,使这些不同的元素组合在视觉上看起来彼
- 代码如下:Function htmll(mulu,htmlmulu,FileName,filefrom,htmla,htmlb,h
- 实现一个mysql数据库封装需要考虑的问题1.使用方便性采用直接sql语句操作方式。只要会写sql语句,那么将没有其他学习成本。uctphp
- 一文搞懂golang定时器Timer的用法和实现原理前言定时器在Go语言应用中使用非常广泛,Go语言的标准库里提供两种类型的计时器,一种是一
- 引言反射是通过实体对象获取反射对象(Value、Type),然后可以操作相应的方法。在某些情况下,我们可能并不知道变量的具体类型,这时候就可
- reduce()函数也是Python内置的一个高阶函数。reduce()格式:reduce (func, seq[, init()])red
- 一、内置函数下面简单介绍几个:1.abs() 求绝对值2.all() 如果 iterable 的所有元素都为真(或者如果可迭代为空),则返回
- MySQL由于它本身的小巧和操作的高效, 在数据库应用中越来越多的被采用.我在开发一个P2P应用的时候曾经使用MySQL来保存P2P节点,由
- 1、引言选择排序里面主要讲了三个排序,分别是简单选择排序、树形选择排序、堆排序。今天这篇文章主要讲树形选择排序,树形选择排序也被称为锦标赛排
- 0.前言SQLite是一款开源、轻量级、跨平台的数据库,无需server,无需安装和管理配置。它的设计目标是嵌入式的,所以很适合小型应用,也
- 常见的SQL问题:◆选择重复,消除重复和选择出序列有例表:empemp_no name age001 Tom 17002 Sun 14003
- CSS Sprites技术不新鲜,早在2005年 CSS Zengarden 的园主 Dave Shea 就在 ALA
- Python项目文件中安装 setup.py安装 setup.py 的过程与安装其他的 Python 包的过程类似。首先,你需要下载或者使用
- 如何使用Pytorch实现two-head(多输出)模型1. two-head模型定义先放一张我要实现的模型结构图:如上图,就是一个two-
- 前言公司的Ubuntu服务器对于各个系统的目录是放在不同的逻辑分区上的,比如存放mysql数据库文件的默认目录/var/lib/mysql所
- 前言终于能够挤出一点时间来总结最近学到的一些技术知识点了,博主这两周被居家隔离-集中隔离-居家隔离来回折腾,现在终于是得到解放能够空出的时间
- Bootstrap提供了四种用于<img>类的样式,分别是:.img-rounded:圆角 (IE8 不支持),添加 borde
- 相关文章推荐:各种北京2008奥运会倒计时Flash2008北京奥运会倒计时js代码 全套北京2008奥运会倒计时屏保<!DOCTYP
- 前言:本文的主要内容是介绍Python中的列表及其方法的使用,涉及到的方法包括对列表元素进行修改、添加、删除、排序以及求列表长度等,此外还介