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章)所有的基本的序列操作(索引,分片,乘法,判断成员资格,求长度,求最大最小值)对字符串也适用.字符串是不可以改变的:格式化输出字符 ...
随机推荐
- jquery on绑定事件
描述:给一个或多个元素(当前的或未来的)的一个或多个事件绑定一个事件处理函数.(1.7版本开始支持,是 bind().live() 和 delegate() 方法的新的替代品) 语法:.on( eve ...
- 解读event.returnValue和return false
前言 首先我们要清楚returnValue是IE的一个属性,如果设置了该属性,它的值比事件句柄的返回值优先级要高,把它的值设置为false,可以取消发生事件源元素的默认动作:return false就 ...
- 微信小程序登录授权并获取手机号
一.请求发送 携带 code 到后台换取 openid var that = this; wx.login({ success(res) { console.log(res); var code = ...
- python 钉钉机器人发送消息
import json import requests def sendmessage(message): url = 'https://oapi.dingtalk.com/robot/send?ac ...
- Delphi 限制Edit输入 多个例子
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if not (key in [ '.',#8]) then ...
- PLSQL 汉化
自动导入PLSQL安装目录: 一直下一步就可以了: 之后重新打开:
- RabbitMQ在Ubuntu 16.04下的安装与配置
安装执行如下命令: echo 'deb http://www.rabbitmq.com/debian/ testing main' | sudo tee /etc/apt/sources.list.d ...
- Apache ab 单测 分布式
使用synchronized 处理并发 缺点:无法做到细粒度控制 只适合单点的情况 使用Redis作为分布式锁 setnx命令 设计模式 :使用 !setnx 加锁 getset命令
- SQL Server 2008 开启远程连接
除了 IP1.IP2 外,也要把 IPALL 的端口也设置为 1433 参考:SQL Server开启1433端口,彻底解决方案
- 当考虑到并发问题时候,我们需要将给表插入id的代码挪到service中,目的是将其放到一个事务中,保准事务的一致性