#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. MySQL经典编程问题

    星期数的问题 1 计算日期是周几 这个问题看似很简单,可以用MySQL内置函数来计算 (1) weekday(date)其返回值是0-6,0代表Monday, 6代表Sunday: (2) dayof ...

  2. apach ab 安装时的错误

    1.cmd进入bin下:执行httpd -k install 需要管理员 登陆安装 我们打开conf文件夹,找到httpd.conf,修改如下内容,让serverroot指向你的安装位置: Defin ...

  3. 头文件带和不带.h的区别

    所有C++标准库的头文件都是没有.h结尾的.这么做是为了区分,C标准库的头文件和C++标准库的头文件.比如最具代表性的: #include <string.h> // C 标准库头文件,包 ...

  4. 二叉搜索树的第k个节点

    给定一棵二叉搜索树,请找出其中的第k小的结点.例如, (5,3,7,2,4,6,8)    中,按结点数值大小顺序第三小结点的值为4. = =一看就想到中序遍历 public class Soluti ...

  5. 4面向对象(OOP)

    学习线路 初学: 熟悉语法 进阶: 1.23种设计模式 2.6中开发原则 高级: 1.优化 2.架构 3.安全 概念 类:一类具有相同特性的事物的抽象描述,用一个java类表示. 成员变量:抽取的属性 ...

  6. 读懂掌握 Python logging 模块源码 (附带一些 example)

    搜了一下自己的 Blog 一直缺乏一篇 Python logging 模块的深度使用的文章.其实这个模块非常常用,也有非常多的滥用.所以看看源码来详细记录一篇属于 logging 模块的文章. 整个 ...

  7. 如何使用命令从linux服务器下载文件到windows

    1.直接使用命令从linux下载文件到windows //登录linux服务器导出mysql数据 mysqldump -hrm-2ze8mpi5i65429l1q.mysql.rds.aliyuncs ...

  8. shell命令相关

    1.服务端登录退出 登录服务器 ssh kayan.sjc@xx.xx.xx.67 退出登录:logout 192.168.0.10 2.目录管理 显示目录 pwd 创建目录 mkdir resour ...

  9. Django restframe 视图函数以及ModelSerializer的使用

    建立model数据库 from django.db import models __all__ = ['Book', 'Publisher', 'Author'] # Create your mode ...

  10. wpgwhpg

    //f[i][j]就是第is时wpgwhpg的疲劳度是j,那么我们就可以就ta这1s是否休息进行讨论 #include<bits/stdc++.h> using namespace std ...