python通讯录的录入与测试_python实现手机通讯录搜索功能
# -*- coding:utf-8 -*-
# 练习2:
# 模拟手机通讯录搜索功能
class PERSON(object):
def __init__(self):
self.name_list = ['zhangsan', 'zhangsanfeng', 'zhaoliu', 'wangwu', 'wulong', 'wanda', 'lisi', 'liuyang','luoxiaoxiao', 'linmeimei', 'luhan', 'gaohairui', 'guojing', 'huangrong', 'hanhan']
#声明空字典
self.ss_dict = {}
def total(self):
#for循环遍历列表,取出每一个姓名
for name in self.name_list:
#取出首字母
s =name[0]
#判断字典中是否有s这个key
if s not in self.ss_dict:
#如果没有,根据key将存放name的列表放入字典
# s_list = []
# s_list.append(name)
# self.ss_dict[s] = s_list
self.ss_dict[s] = [name]
else:
#如果有,根据key取出列表,将这个name添加到列表
s_list = self.ss_dict[s]
s_list.append(name)
print(self.ss_dict)
def add_person(self):
name = input('请输入姓名:')
if name not in self.name_list:
self.name_list.append(name)
s = name[0]
if s not in self.ss_dict:
self.ss_dict[s] = [name]
else:
s_list = self.ss_dict[s]
s_list.append(name)
else:
print('已存在!')
def query_person(self):
s = input('请输入要查找联系人名字的首字母:')
# s就是要查找的字典的key
if s not in self.ss_dict:
print('不存在')
else:
# 根据这个key取出字典中对应的值(列表)
s_list = self.ss_dict[s]
for index,name in enumerate(s_list):
print('序号:%s 姓名:%s' % (index,name))
# for x in range(0,len(s_list)):
# name = s_list[x]
# print('序号:%s 姓名:%s'%(x,name))
return s
def alter_person(self):
s= self.query_person()
index = int(input('请输入要修改联系人的序号:'))
new_name = input('输入更改后的名字(%s):'%self.ss_dict[s][index])
del self.ss_dict[s][index]
s = new_name[0]
if s not in self.ss_dict:
self.ss_dict[s] = [new_name]
else:
s_list = self.ss_dict[s]
s_list.append(new_name)
def delete_person(self):
while len(self.ss_dict) == '0':
print('信息为空!')
print('1.根据名字删除')
print('2.全部删除')
print('0.退出')
num = int(input('输入序号:'))
while num not in range(0,3 ):
num = int(input('选项不存在,请重输:'))
if num == 1:
s = self.query_person()
index = int(input('请输入要删除联系人的序号:'))
rs = input('是否真的要删除,(y/n):')
if rs == 'y':
self.ss_dict[s].pop(index)
print('删除成功')
else:
print('取消删除')
elif num == 2:
rs = input('是否真的要删除,(y/n):')
if rs == 'y':
self.ss_dict.clear()
print('删除成功')
else:
print('取消删除')
else:
return
def start(self):
self.total()
while 1:
print('1.添加联系人')
print('2.查询联系人')
print('3.修改联系人')
print('4.删除联系人')
print('0.退出')
num = int(input('输入序号:'))
while num not in range(0,5):
num = int(input('选项不存在,请重输:'))
if num == 1:
self.add_person()
elif num == 2:
self.query_person()
elif num == 3:
self.alter_person()
elif num == 4:
self.delete_person()
else:
break
p = PERSON()
p.start()
python通讯录的录入与测试_python实现手机通讯录搜索功能相关推荐
- android手机号码恢复,安卓手机通讯录没有了怎么办?如何恢复手机通讯录
安卓手机通讯录没有了怎么办?如何恢复手机通讯录?怎样才能快速的找回丢失的联系人信息呢?遇到手机联系人信息丢失的小伙伴,都一定很焦急吧.没了一些人的联系方式大家总会感觉很不踏实. 那么应该如何快速的找回 ...
- android 微信 备份通讯录,微信备份手机通讯录在哪?怎么用微信备份手机通讯录?...
微信5.2升级后,微信界面有了很大的变化,对于有些功能设置你可能一时半会找不到在哪里,像微信通讯录备份很多人都找不到,下面说说微信备份手机通讯录在哪?怎么用微信备份手机通讯录?不明白的朋友可以参考本文 ...
- python实现手机通讯录_python实现手机通讯录搜索功能
# -*- coding:utf-8 -*- # 练习2: # 模拟手机通讯录搜索功能 class PERSON(object): def __init__(self): self.name_list ...
- python全盘搜索文件_python实现全盘扫描搜索功能的方法
由用户指定需要扫描的盘符或目录,输入需要查找的文件或者文件夹名称(不包含中文名称) 代码: # encoding=utf-8 import os.path import stat # 用python编 ...
- 【效率特工队】如何快速将Excel表格的号码导入安卓和苹果手机通讯录,批量添加大量手机号码到手机通讯录的最快方法
很多人遇到一个问题,在做微商.还有整理客户资料等等过程中 有大批量的手机号需要导入到安卓和苹果手机的通讯录保存 然后通过通讯录加客户微信,通过支付宝通讯录核实用户信息等等应用中 很多人也知道QQ同步助 ...
- python第八周小测试_Python小测试.doc
Python小测试.doc 第六周 A.......1. 每个类的定义必须包含一个初始化方法,该初始化方法的名称是什么 __init__(两边各2个下划线)2. Python语言中,函数和方法的主要区 ...
- python入门第四章十大歌手 手机通讯录 神奇魔方阵 青春有你
""" 场景预设:学校组织了这么一个比赛,设置了10名评委打分,为了防止作弊和恶意打分, 去掉最高分和最低分再计算平均分作为选手成绩. 本实例要求编写这样一个程序:记录评 ...
- python实现简单的http服务器_python实现简单http服务器功能
背景 写一个python脚本,实现简单的http服务器功能: 1.浏览器中输入网站地址:172.20.52.163:20014 2.server接到浏览器的请求后,读取本地的index.html文件的 ...
- python车牌识别系统开源代码_python+opencv实现车牌定位功能(实例代码)
写在前面 HIT大三上学期视听觉信号处理课程中视觉部分的实验三,经过和学长们实验的对比发现每一级实验要求都不一样,因此这里标明了是2019年秋季学期的视觉实验三. 由于时间紧张,代码没有进行任何优化, ...
最新文章
- Gradle dependency cache may be corrupt
- 在Java中使用final关键字可以提高性能吗?
- linux中vim常用命令总结
- 分支合并 Fork-Join 框架
- php购物车修改单价,php – woocommerce在结帐和购物车页面更改价格
- linux 常用命令02--文件属性 以及软硬链接
- vmware-安装vmware tools教程190915
- Python高级——多进程(multiprocessing)
- curl_multi实现并发
- 使用Python模拟蒙蒂霍尔悖论游戏
- 书评:《深入浅出数据分析》
- 【统计信号处理检测理论:二维CFAR】
- 创业板首批企业或节前招股 新公布6家上会公司
- ansys添加力矩_ansys中施加力矩
- 专访智齿科技吴立楠:智能客服行业发展的三个趋势
- 程序员必备心理学——心流
- PyCrypto —— 一个极好的信息安全python库
- 给大家排个雷,ensp中nat不成功原因
- 【5】windows本地安装数据库
- uni-app使用 (从下载到项目启动 流程 踩坑)
热门文章
- [ZJOI2013]防守战线
- Unix网络编程---第一次作业
- python遇到‘\u’开头的unicode编码
- C++项目代码规范(偶自用)
- ffmpeg 推流 在H264中插入SPS、PPS 头
- Win11之C盘终极清理工具
- Win10之选择文件右击时卡死问题(转圈圈)
- 解决U盘安装Win10报错:No bootbale devices found.
- Audition报错:“无法应用设备设置,因为发生了以下错误:MME设备内部错误“
- Clojure 学习入门(15)- 条件判断