功能要求:

  • 查询联系人,输入姓名,可以查询当前通讯录里面的联系人信息,若联系人存在,则输出联系人信息,若不存在,则告知
  • 插入联系人,可以向通讯录中新建联系人,若联系人已经存在,则询问是否修改联系人信息,若不存在,则新建联系人
  • 删除联系人,可以删除联系人,若联系人不存在,则告知
  • 输入指令,退出通讯录

具体代码实现:

 #!/usr/bin/env python3
# -*- coding: utf-8 -*-
# @Time : 2018/3/26 10:01
# @Author : yang
# @File : Exercise.py
# @Software: PyCharm #通讯录
print('''|---欢迎进入通讯录---|
|---1、查询联系人信息---|
|---2、插入新的联系人---|
|---3、删除联系人信息---|
|---4、退出通讯录程序---|
''')
addressBook = {'小杨':12345678,'小张':12345679,'小赵':12345670}
while 1:
order_code = input('请输入指令代码:')
if order_code.isdigit() == False: #判断指令是否只有数字组成
print('您输入的指令代码格式错误,请按照提示重新输入!')
continue
item = int(order_code) #将输入指令转换为整型 if item == 4:
print('感谢使用通讯录!')
break #结束循环
#输入联系人姓名
name = input('请输入联系人姓名:')
if item == 1: #查询联系人信息
if name in addressBook:
print(name,':',addressBook[name])
continue #结束当前循环
else:
print('联系人不存在。')
if item == 2: #新建联系人
if name in addressBook:
print('你输入的联系人在通讯录中已经存在--->>',name,':',addressBook[name])
is_Edit = input('是否需要修改联系人的信息:(Y/N)') #判断是否需要修改当前联系人信息
if is_Edit == 'Y':
userphone = input('请输入联系人电话:')
addressBook[name] = userphone
print(addressBook)
continue
else:
continue
else:
userphone = input('请输入联系人电话:')
addressBook[name]=userphone
print('联系人添加成功!')
print(addressBook)
continue
if item == 3: #删除联系人
if name in addressBook:
del addressBook[name]
print('联系人删除成功!')
print(addressBook)
continue
else:
print('联系人不存在')

Python学习-字典练习:简单通讯录的更多相关文章

  1. Python学习第一天 -- 简单的属性、 语法学习

    1,哈哈哈,是时候来一波Python,其实没办法,最近在做后台的时候,需要用到Python来调试接口,下面是它的简单的语法,权当是记录. 2, #!/user/bin/python # coding= ...

  2. python学习之最简单的用户注册及登录验证小程序

    文章都是从我的个人博客上粘贴过来的哦,更多内容请点击 http://www.iwangzheng.com 正如很多同学所知道的,楼主开始学习python了,前进的道路曲曲折折,有荆棘也有陷阱,从最简单 ...

  3. Python学习 - 编写一个简单的web框架(二)

    在上一篇日志中已经讨论和实现了根据url执行相应应用,在我阅读了bottle.py官方文档后,按照bottle的设计重写一遍,主要借鉴大牛们的设计思想. 一个bottle.py的简单实例 来看看bot ...

  4. python学习-变量和简单类型(二)

    学习笔记中的源码:传送门 1.注释: 单行注释(#):多行注释("""或者''') 2.python标准数据类型:数字(numbers).字符串(string).列表(l ...

  5. python 学习 : 一个简单的秒表

      游戏说明:绿色数字(左边表示成功停止在整秒的次数,右边表示停止的总次数) 点击stop,如果小数点后为0,即你停止的时间是整秒数,右上方斜杠左边数字加一 把代码复制到这个网页code run he ...

  6. Python学习 - 编写一个简单的web框架(一)

    自己动手写一个web框架,因为我是菜鸟,对于python的一些内建函数不是清楚,所以在写这篇文章之前需要一些python和WSGI的预备知识,这是一系列文章.这一篇只实现了如何处理url. 参考这篇文 ...

  7. Python学习笔记2-flask-sqlalchemy 简单笔记

    flask-sqlalchemy 简单笔记 字数 阅读 评论 喜欢 flask-sqlalchemy SQLAlchemy已经成为了python世界里面orm的标准,flask是一个轻巧的web框架, ...

  8. Python学习--字典

    在Python中通过名字来引用值的数据结构称为映射(mapping).字典是Python中唯一内建(Python解释器本身支持,不需要import)的映射类型.字典中的值没有特殊的顺序,都存储在一个特 ...

  9. Python学习-------------------三级菜单简单版

    题目: 多级菜单         1.三级菜单         2.可依次选择进入的各子菜单         3.所需新知识点:列表.字典 ReadMe: 这个做循环,比较绕脑子 点开运行即可 Min ...

随机推荐

  1. Codeforces Round #341 (Div. 2) C. Mike and Chocolate Thieves 二分

    C. Mike and Chocolate Thieves time limit per test 2 seconds memory limit per test 256 megabytes inpu ...

  2. nignx的master进程和worker进程的作用

    ngnix进程启动启动后会有一个master进程和多个worker进程. master进程的主要作用: 1.读取并验证配置信息: 2.创建,绑定及关闭套接字: 3.启动,终止worker进程以及维护w ...

  3. Kafka分布式:ZooKeeper扩展

    [ZooKeeper] 服务注册.服务发现.客户端负载均衡.Offset偏移量分布式存储. kafka使用zookeeper来实现动态的集群扩展,不需要更改客户端(producer和consumer) ...

  4. Mysql解压版配置环境等

    背景故事:安装版的mysql和我的本本有仇,最后一步老卡死 1.首先先把下载好的压缩包解压,如下图:

  5. Android Codenames, Tags, and Build Numbers

    Starting with Cupcake, individual builds are identified with a short build code, e.g. FRF85B. The fi ...

  6. ls/vi等 command not found

    输入一下命令即可 export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin source / ...

  7. OGNL表达式语言中的"#"和"$"的区别

    Struts2使用标准的Context来进行OGNL表达式语言求值,OGNL的顶级对象是一个Context,这个Context对象就是一个Map类型实例,其根对象就是ValueStack,如果需要访问 ...

  8. VB与C#的区别(转载)

    由于工作原因要熟悉这两门编程语言.网上找的. VB.NET Program Structure C# Imports System Namespace Hello               Clas ...

  9. CF 913 A

    题解: 首先判断n是否大于30 大于30输出m 否则输出m%2^n 代码: #include<bits/stdc++.h> using namespace std; int n,m; in ...

  10. System.Zip

    自XE2增加的System.Zip单元很好.注意事项: 1.文件压缩到文档后所使用的文件名会成为解压后的文件名,如果该文件名为指定文件名且无后缀名,那么解压出来的文件名也没有后缀名: