#1对代码的完善的

出现打印代码处缺陷截图:

图片上可以看到,定义的request根本没有定义它就有了。这个是未定义的,会报错的,这本书印刷问题,这个就是个坑,我也是才发现。花了点时间脱坑。

现在发完整的代码:

#coding:utf-8
#字典示例
people={
'Jack':{
'phone':'',
'addr':'jiangsu'
},
'Lisa':{
'phone':'',
'addr':'nanjing'
},
'Lin':{
'phone':'',
'addr':'beijing'
}
} labels={
'phone':'phone number',
'addr':'address'
} name=raw_input('Name:')
request=raw_input('phone number(p) or address(a)?')
if request=='p':
key='phone'
if request=='a':
key='addr'
if name in people:
print "%s's %s is %s"%(name,labels[key],people[name][key])
else:
print '请输入正确的姓名'

输出部分也给大家看:

================== RESTART: D:/python基础教程2/字典示例.py ==================
Name:Jack
phone number(p) or address(a)?p
Jack's phone number is 1111
>>>

感觉这种写法不是很好,又想了一种写法:

代码如下:

#coding:utf-8
#字典示例修改版本
people={
'Jack':{
'phone':'',
'addr':'jiangsu'
},
'Lisa':{
'phone':'',
'addr':'nanjing'
},
'Lin':{
'phone':'',
'addr':'beijing'
}
} labels={
'phone':u'电话号码',
'addr':u'家庭地址'
} name=raw_input('请输入你的姓名:')
phone=raw_input('查询电话号码请输入p:')
address=raw_input('查询家庭地址请输入a:')
if phone=='p':
key='phone'
else:
print '请输入正确的电话号码'
if address=='a':
key='addr'
else:
print '请输入正确的家庭地址'
if name in people:
print u'%s\'s %s 是 %s 和 %s 在 %s'%(name,labels['phone'],people[name]['phone'],labels[key],people[name][key])
else:
print '请输入正确的姓名'

输出部分也给大家:

============== RESTART: D:/python基础教程2/字典示例升级版本.py ==============
请输入你的姓名:Jack
查询电话号码请输入p:p
查询家庭地址请输入a:a
Jack's 电话号码 是 1111 和 家庭地址 在 jiangsu
>>>

两种方法都差不多,哈哈,第二种后来测试了下, 好像有点缺陷。暂时就这样#

Python基础教程2上的一处打印缺陷导致的代码不完整#1的更多相关文章

  1. python基础教程笔记—即时标记(详解)

    最近一直在学习python,语法部分差不多看完了,想写一写python基础教程后面的第一个项目.因为我在网上看到的别人的博客讲解都并不是特别详细,仅仅是贴一下代码,书上内容照搬一下,对于当时刚学习py ...

  2. (Python基础教程之十二)Python读写CSV文件

    Python基础教程 在SublimeEditor中配置Python环境 Python代码中添加注释 Python中的变量的使用 Python中的数据类型 Python中的关键字 Python字符串操 ...

  3. (Python基础教程之十三)Python中使用httplib2 – HTTP GET和POST示例

    Python基础教程 在SublimeEditor中配置Python环境 Python代码中添加注释 Python中的变量的使用 Python中的数据类型 Python中的关键字 Python字符串操 ...

  4. 改写《python基础教程》中的一个例子

    一.前言 初学python,看<python基础教程>,第20章实现了将文本转化成html的功能.由于本人之前有DIY一个markdown转html的算法,所以对这个例子有兴趣.可仔细一看 ...

  5. .Net程序员之Python基础教程学习----列表和元组 [First Day]

    一. 通用序列操作: 其实对于列表,元组 都属于序列化数据,可以通过下表来访问的.下面就来看看序列的基本操作吧. 1.1 索引: 序列中的所有元素的下标是从0开始递增的. 如果索引的长度的是N,那么所 ...

  6. python基础教程(一)

    之所以选择py交易有以下几点:1.python是胶水语言(跨平台),2.python无所不能(除了底层),3.python编写方便(notepad++等文本编辑器就能搞事情),4.渗透方面很多脚本都是 ...

  7. python基础教程(第二版)

    开始学习python,根据Python基础教程,把里面相关的基础章节写成对应的.py文件 下面是github上的链接 python基础第1章基础 python基础第2章序列和元组 python基础第3 ...

  8. python基础教程1:入门基础知识

    写在系列前,一点感悟 没有梳理总结的知识毫无价值,只有系统地认真梳理了才能形成自己的知识框架,否则总是陷入断片儿似的学习-遗忘循环中. 学习方法真的比刻苦"傻学"重要多了,而最重要 ...

  9. 《python基础教程(第二版)》学习笔记 字符串(第3章)

    <python基础教程(第二版)>学习笔记 字符串(第3章)所有的基本的序列操作(索引,分片,乘法,判断成员资格,求长度,求最大最小值)对字符串也适用.字符串是不可以改变的:格式化输出字符 ...

随机推荐

  1. IDEA将项目上传至码云/GitHub托管

    怎么将本地的项目放到码云或者GitHub去托管了?(以码云为例) 一.创建远程项目 第一步:点击创建项目 第二步:填写项目相关信息 第三步:复制远程的项目地址,注意:此处码云官方已经给出上传项目方法, ...

  2. Windows 下面 redis 发布为服务的官方方法

    除了 NSSM 之外 另外一种方式 感觉还是很好用的 redis-server --service-install redis.windows.conf --loglevel verbose 感觉也可 ...

  3. RPC框架-RMI、RPC和CORBA的区别

    关键词:RMI RPC CORBA简 介:本篇文章重点阐述RMI,附带介绍RPC和CORBA Java远程方法调用(Java RMI)是一组实现了远程方法调用(rmi)的API. java RMI是远 ...

  4. Visual Studio2012调试时无法命中断点

    今天在调试代码的时候发现在Debug模式下无法命中断点,然后一步步去检查原因,最后发现是在项目-->属性-->生成-->高级-->调试信息被设置为None,然后在选项中将其选择 ...

  5. linux 地址解析协议 arp

    随便转载,保留出处:http://www.cnblogs.com/aaron-agu/ arp –na #查看 arp –s 123.253.68.209 00:19:56:6F:87:D4 #添加

  6. vue事件綁定

    事件綁定可以是一個句子,一個函數名稱,也可以是一個函數. 事件修飾符,按鍵修飾符.

  7. Express学习(2) ------ 中间件

    TJ Holowaychuck 将 “中间件”描述为易于挂载和调用的模块,可以“无序”使用,并有利于应用的快速开发. 1, 中间件是一个模块.在js中,模块意味着函数,所以中间件是一个函数.那么这个函 ...

  8. bzoj2152-[国家集训队]聪聪可可

    Description 聪聪和可可是兄弟俩,他们俩经常为了一些琐事打起来,例如家中只剩下最后一根冰棍而两人都想吃.两个人都想玩儿电脑(可是他们家只有一台电脑)--遇到这种问题,一般情况下石头剪刀布就好 ...

  9. FFmpeg 将YUV数据转RGB

    只要开始初始化一次,结束后释放就好,中间可以循环转码 AVFrame *m_pFrameRGB,*m_pFrameYUV; uint8_t *m_rgbBuffer,*m_yuvBuffer; str ...

  10. kubernetes ceph-rbd挂载步骤 类型storageClass

    由于kubelet本身并不支持rbd的命令,所以需要添加一个kube系统插件: 下载插件 quay.io/external_storage/rbd-provisioner 下载地址: https:// ...