Python基础教程2上的一处打印缺陷导致的代码不完整#1
#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的更多相关文章
- python基础教程笔记—即时标记(详解)
最近一直在学习python,语法部分差不多看完了,想写一写python基础教程后面的第一个项目.因为我在网上看到的别人的博客讲解都并不是特别详细,仅仅是贴一下代码,书上内容照搬一下,对于当时刚学习py ...
- (Python基础教程之十二)Python读写CSV文件
Python基础教程 在SublimeEditor中配置Python环境 Python代码中添加注释 Python中的变量的使用 Python中的数据类型 Python中的关键字 Python字符串操 ...
- (Python基础教程之十三)Python中使用httplib2 – HTTP GET和POST示例
Python基础教程 在SublimeEditor中配置Python环境 Python代码中添加注释 Python中的变量的使用 Python中的数据类型 Python中的关键字 Python字符串操 ...
- 改写《python基础教程》中的一个例子
一.前言 初学python,看<python基础教程>,第20章实现了将文本转化成html的功能.由于本人之前有DIY一个markdown转html的算法,所以对这个例子有兴趣.可仔细一看 ...
- .Net程序员之Python基础教程学习----列表和元组 [First Day]
一. 通用序列操作: 其实对于列表,元组 都属于序列化数据,可以通过下表来访问的.下面就来看看序列的基本操作吧. 1.1 索引: 序列中的所有元素的下标是从0开始递增的. 如果索引的长度的是N,那么所 ...
- python基础教程(一)
之所以选择py交易有以下几点:1.python是胶水语言(跨平台),2.python无所不能(除了底层),3.python编写方便(notepad++等文本编辑器就能搞事情),4.渗透方面很多脚本都是 ...
- python基础教程(第二版)
开始学习python,根据Python基础教程,把里面相关的基础章节写成对应的.py文件 下面是github上的链接 python基础第1章基础 python基础第2章序列和元组 python基础第3 ...
- python基础教程1:入门基础知识
写在系列前,一点感悟 没有梳理总结的知识毫无价值,只有系统地认真梳理了才能形成自己的知识框架,否则总是陷入断片儿似的学习-遗忘循环中. 学习方法真的比刻苦"傻学"重要多了,而最重要 ...
- 《python基础教程(第二版)》学习笔记 字符串(第3章)
<python基础教程(第二版)>学习笔记 字符串(第3章)所有的基本的序列操作(索引,分片,乘法,判断成员资格,求长度,求最大最小值)对字符串也适用.字符串是不可以改变的:格式化输出字符 ...
随机推荐
- Bootstrap知识记录:表单和图片
一.表单Bootstrap 提供了一些丰富的表单样式供开发者使用.1.基本格式//实现基本的表单样式<form><div class="form-group"&g ...
- Linux的基本解读
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统 而严格来讲,Linux这个词本身只表示Linux内核,但实际上人 ...
- 协程和异步io
一. 并发.并行.同步.异步.阻塞.非阻塞 1.并发:是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机(CPU)上运行,但任一个时刻点上只有一个程序在处理机上运 ...
- nfs+keepalived高可用
1台nfs主被服务器都下载nfs.keepalived yum install nfs-utils rpcbind keepalived -y 2台nfs服务器nfs挂载目录及配置必须相同 3.在主n ...
- linux 查看网段内所有IP
如有转载,不胜荣幸.http://www.cnblogs.com/aaron-agu/ 方法一: nmap –nsP 192.168.1.0/24 #从192.168.1.0到192.168.1.25 ...
- vscode git设置
vscode只能打开一下界面: 在setting.path增加git.path选项,再使用linux的方法配置路径,就是使用D:/../bin/git.exe而不是\\ 重启vscode,git设置即 ...
- 一、使用Navicat连接阿里云服务器宝塔面板里创建的数据库
一.数据库配置连接 (通过新增用户的方式)
- ES 6 系列 - Promise
一.含义 是异步编程的一种解决方案,es 6 将其变成了标准. 简单的说是一个容器,里面保存了某个未来才会结束的事件(通常是一个异步操作)的结果.语法上, Promise 是一个对象,从它可以获取异步 ...
- OPENQUERY (Transact-SQL)
Syntax Copy OPENQUERY ( linked_server ,'query' ) Arguments linked_serverIs an identifier representin ...
- codeforces433B
Kuriyama Mirai's Stones CodeForces - 433B 有n颗宝石,每个宝石都有自己的价值. 然后m次询问.问区间[i,j]的宝石的总值,或者问排序后的区间[i,j]的总值 ...