如何用Python写一个简单的通讯录
作者:张浔 发布时间:2021-04-13 23:47:40
标签:Python,通讯录
目录
用Python写一个简单的通讯录
一、构思
1、定义空列表和一个空字典来存储
2、定义功能选项
3、添加通讯录功能
4、 循环,调用所有的函数功能
二、整体项目演示
用Python写一个简单的通讯录
一、构思
1、定义空列表和一个空字典来存储
list1=[] #用于储存字典中的信息
dict1={} #用于储存联系人信息
2、定义功能选项
def Menu():
print('请选择功能--------\n'
'1.添加学员\n'
'2.删除学员\n'
'3.修改学员\n'
'4.查询学员\n'
'5.显示所有学员\n'
'6.退出系统\n'
'----------------')
3、添加通讯录功能
3.1 添加学员
#添加学员
def Add():
id=input('请输入学号:')
name=input('请输入姓名:')
tel=input('请输入手机号:')
dict1={'id':id,'name':name,'tel':tel}
list1.append(dict1) #将字典内容添加到列表中
print(list1)
这样添加学员便完成了
3.2 删除学员功能
#删除学员
def Del():
name=input('请输入要删除的学员的姓名:')
i=0 #索引
for item in list1: #循环列表中的内容
i+=1
if name in item['name']: #判断要删除学员的姓名与列表中嵌套的字典姓名相同时
del list1[i-1] #删除列表索引-1的内容
print(list1)
else:
print('并无此学员...')
3.3 修改学员
#修改学员
def Update():
name=input('请输入要修改的学员的姓名:')
tel=input('请输入新的手机号:')
i=0 #索引
for item in list1:
i+=1
if name in item['name']:
list1[i-1]['tel']=tel #修改列表索引-1中嵌套的字典内容,旧tel修改为新的手机号
print(list1)
else:
print('并无此学员...')3.4 查询学员
#查询学员
def Select():
name=input('请输入要查询的学员的姓名:')
for item in list1:
if name in item['name']:
print('查询到的学员信息如下--------')
print('学员的学号是%s,姓名是%s,手机号是%s' % (item['id'],item['name'],item['tel']))
else:
print('查无此人...')
3.5 显示所有学员
#显示所有学员
def ShowAll():
print('学号 姓名 手机号')
for item in list1:
print(item['id'],item['name'],item['tel'])
3.6退出系统
#退出系统
def Quit():
YesNo=input('确定要退出吗,yes or no?')
if YesNo=='yes':
quit()
4、 循环,调用所有的函数功能
while True:
Menu()
num=int(input('请输入功能序号:'))
if num==1:
Add()
elif num==2:
Del()
elif num==3:
Update()
elif num==4:
Select()
elif num==5:
ShowAll()
elif num==6:
Quit()
else:
print('无效选项-----')
二、整体项目演示
请选择功能--------
1.添加学员
2.删除学员
3.修改学员
4.查询学员
5.显示所有学员
6.退出系统
----------------
请输入功能序号:1
请输入学号:001
请输入姓名:张
请输入手机号:111
[{'id': '001', 'name': '张', 'tel': '111'}]
请选择功能--------
1.添加学员
2.删除学员
3.修改学员
4.查询学员
5.显示所有学员
6.退出系统
----------------
请输入功能序号:1
请输入学号:002
请输入姓名:李
请输入手机号:222
[{'id': '001', 'name': '张', 'tel': '111'}, {'id': '002', 'name': '李', 'tel': '222'}]
请选择功能--------
1.添加学员
2.删除学员
3.修改学员
4.查询学员
5.显示所有学员
6.退出系统
----------------
请输入功能序号:1
请输入学号:003
请输入姓名:王
请输入手机号:333
[{'id': '001', 'name': '张', 'tel': '111'}, {'id': '002', 'name': '李', 'tel': '222'}, {'id': '003', 'name': '王', 'tel': '333'}]
请选择功能--------
1.添加学员
2.删除学员
3.修改学员
4.查询学员
5.显示所有学员
6.退出系统
----------------
请输入功能序号:2
请输入要删除的学员的姓名:张
[{'id': '002', 'name': '李', 'tel': '222'}, {'id': '003', 'name': '王', 'tel': '333'}]
并无此学员...
请选择功能--------
1.添加学员
2.删除学员
3.修改学员
4.查询学员
5.显示所有学员
6.退出系统
----------------
请输入功能序号:3
请输入要修改的学员的姓名:王
请输入新的手机号:666
并无此学员...
[{'id': '002', 'name': '李', 'tel': '222'}, {'id': '003', 'name': '王', 'tel': '666'}]
请选择功能--------
1.添加学员
2.删除学员
3.修改学员
4.查询学员
5.显示所有学员
6.退出系统
----------------
请输入功能序号:4
请输入要查询的学员的姓名:王
查无此人...
查询到的学员信息如下--------
学员的学号是003,姓名是王,手机号是666
请选择功能--------
1.添加学员
2.删除学员
3.修改学员
4.查询学员
5.显示所有学员
6.退出系统
----------------
请输入功能序号:5
学号 姓名 手机号
002 李 222
003 王 666
请选择功能--------
1.添加学员
2.删除学员
3.修改学员
4.查询学员
5.显示所有学员
6.退出系统
----------------
请输入功能序号:6
确定要退出吗,yes or no?yes
Process finished with exit code 0
来源:https://blog.csdn.net/m0_58040147/article/details/119891822


猜你喜欢
- sql查询数组中是否包含某个内容find_in_set如果表Atable中的a字段内容是1,2,3 的格式(a字段是用,分隔的),要查询该字
- 如果直接对大文件对象调用 read() 方法,会导致不可预测的内存占用。好的方法是利用固定长度的缓冲区来不断读取文件内容。即通过yield。
- 高级加密标准(AES,Advanced Encryption Standard)为最常见的对称加密算法(微信小程序加密传输就是用这个加密算法
- 对于一个多元函数,用最速下降法(又称梯度下降法)求其极小值的迭代格式为其中为负梯度方向,即最速下降方向,αkαk为搜索步长。一般情况下,最优
- 杨辉三角,是二项式系数在三角形中的一种几何排列每个数等于它上方两数之和。每行数字左右对称,由1开始逐渐变大。第n行的数字有n项。第n行数字和
- 这篇文章主要介绍了python return逻辑判断表达式实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价
- 一、特效预览处理前处理后细节放大后二、程序原理将图片所在的 256 的灰度映射到相应的字符上面也就是 RGB 值转成相应的字符然
- 1.首先在Xshell上通过conda创建新的虚拟环境2.此时在 /home/y210101004/.conda/envs下多了刚
- python 2.7.11django 1.8.4错误内容:related Field has invalid lookup: iconta
- 一. adb 相关命令:1. 关闭adb服务:adb kill-server2. 启动adb服务 adb start
- 本文实例讲述了Python显示进度条的方法,是Python程序设计中非常实用的技巧。分享给大家供大家参考。具体方法如下:首先,进度条和一般的
- 1.安装Apachea) 双击文件Apach_2.2.8_win32-x86-no_ssl.msi,弹出欢迎界面。单NEXT按钮,进入到Li
- 不知不觉的玩了两年多的MySQL,发现很多人都说MySQL对比Oracle来说,优化器做的比较差,其实某种程度上来说确实是这样,
- 稀疏矩阵-sparsepfrom scipy import sparse稀疏矩阵的储存形式在科学与工程领域中求解线性模型时经常出现许多大型的
- 当需要制作转动鼠标滚轮放大页面字体这样的交互效果时,会用到 Mousewheel 事件。其实在大多数浏览器(IE6, IE7, IE8, O
- 本文实例为大家分享了python实现多张图片拼接成大图的具体代码,供大家参考,具体内容如下上次爬取了马蜂窝的游记图片,并解决了PIL模块的导
- 前言本文主要给大家介绍了关于python计算时间差(返回天数)的相关资料,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧方法
- 缘起最近复习设计模式拜读谭勇德的<<设计模式就该这样学>>该书以java语言演绎了常见设计模式本系列笔记拟采用gol
- 方法一:进入MYSQL安装目录 打开MYSQL配置文件 my.ini 或 my.cnf查找 max_connections=100 修改为
- 复制表结构及其数据下面这个语句会拷贝数据到新表中。注意:这个语句其实只是把select语句的结果建一个表,所以新表不会有主键,索引。crea