`

python 核心编程(第二版) 第二章 答案

阅读更多
第二章 python 起步 习题答案

2–1. 变量, print 和字符串格式化运算符。启动交互式解释器。给一些变量赋值(字
符串,数值等等)并通过输入变量名显示它们的值。再用 print 语句做同样的事。这二者有
何区别? 也尝试着使用字符串格式运算符 %, 多做几次, 慢慢熟悉它。

2–2. P 程序输出, 阅读下面的 Python 脚本:
#!/usr/bin/env python
1+2*4
(a) 你认为这段脚本是用来做什么的?
      求数字运算式
(b) 你认为这段脚本会输出什么?
      什么也不输出
(c) 输入以上代码,并保存为脚本,然后运行它。它所做的与你的预期一样吗?为什么一
样/不一样?
     每个人答案可能不一样
(d) 这段代码单独执行和在交互解释器中执行有何不同?试一下,然后写出结果
     9
(e) 如何改进这个脚本, 以便它能和你想像的一样工作?
     #!/usr/bin/env python
      print 1+2*4

2–3. 数值和运算符
启动交互解释器,使用 Python 对两个数值(任意类型)进行加、减、乘、除运算。然后使
用取余运算符来得到两个数相除的余数, 最后使用乘方运算符求 A 数的 B 次方。

2–4. 使用 raw_input()函数得到用户输入
(a) 创建一段脚本使用 raw_input() 内建函数从用户输入得到一个字符串,然后显示这个
用户刚刚键入的字符串。
(b) 添加一段类似的代码,不过这次输入的是数值。将输入数据转换为一个数值对象,
(使
用 int()或其它数值转换函数) 并将这个值显示给用户看。
(注意,如果你用的是早于 1.5 的版
本,你需要使用 string.ato*() 函数执行这种转换)

2–5. 循环和数字
分别使用 while 和 for 创建一个循环:
(a) 写一个 while 循环,输出整数从 0 到 10。
(要确保是从 0 到 10, 而不是从 0 到 9 或
从 1 到 10)
#!/usr/bin/env python
i=0                                                                                                                                                  
while i<=10:
     print i
     i+=1
(b) 做同 (a) 一样的事, 不过这次使用 range() 内建函数。
#!/usr/bin/env python
for i in xrange(0,11):
      print i

2–6. 条件判断 判断一个数是正数,还是负数, 或者等于 0. 开始先用固定的数值,然
后修改你的代码支持用户输入数值再进行判断。
#!/usr/bin/env python
num = raw_input('No:' )                                                                                                                              
i=int(num)
if i>0:
   print '%d more than 0' % i
elif i<0:
   print '%d less than 0' % i
elif i==0:
   print '%d equal 0' % i
else:
   print "please input int num"

2–7.
循环和字串 从用户那里接受一个字符串输入,然后逐字符显示该字符串。先用 while 循
环实现,然后再用 for 循环实现。
#!/usr/bin/env python
char =raw_input('strings: ')
i=0
while i < len(char):
     print char[i]
     i+=1
else:
    print 'while loop has been end!,loop "for" begin'

for i in char:
     print i

2–8. 循环和运算符 创建一个包含五个固定数值的列表或元组,输出他们的和。然后修
改你的代码为接受用户输入数值。 分别使用 while 和 for 循环实现。
固定列表计算:while
char = [1,2,3,4,5]                                                                                                                                   
i=0
sum=0
while i < len(char):
      sum+=int(char[i])
      i+=1
print sum
固定列表计算:for
char = [1,2,3,4,5]                                                                                                                                   
for i in xrange(len(char)):
    sum+=char[i]
print sum

接受用户输入数值:while
#!/usr/bin/env ptyon
list = [1,2,3,4,5]
i=0
sum=0
while i<len(list):
      list[i]=raw_input('Input a Number: ')
      sum+=int(list[i])
      i+=1
print sum

接受用户输入数值:for
#!/usr/bin/env ptyon
list = [1,2,3,4,5]
sum=0
for i in xrange(len(list)):
      list[i]=raw_input('Input a Number: ')
      sum+=int(list[i])
      i+=1
print "sum is: %d" % sum

2–9.
循环和运算符 创建一个包含五个固定数值的列表或元组,输出他们的平均值。本练习的难
点之一是通过除法得到平均值。 你会发现整数除会截去小数,因此你必须使用浮点除以得到更
精确的结果。 float()内建函数可以帮助你实现这一功能
  1 #!/usr/bin/env ptyon                                                                                                                             
  2 list = [1,2,3,4,5]
  3 sum=0
  4 for i in xrange(len(list)):
  5       list[i]=raw_input('Input a Number: ')
  6       sum+=float(list[i])
  7       i+=1
  8
  9 print "average is: %f" % (sum/i)

2–10.
带循环和条件判断的用户输入 使用 raw_input()函数来提示用户输入一个 1 和 100 之间的
数,如果用户输入的数满足这个条件,显示成功并退出。否则显示一个错误信息然后再次提示
用户输入数值,直到满足条件为止。
#!/usr/bin/env ptyon
#conding:utf-8

while True:
    num = int(raw_input("please input a integer number 1-100: ")) #int 必须的,如若没有,则始终到else语句
    if 1 <= num and num <= 100:  # 1<=num<=100 在Python 中成立
       print num
       break
    else:
       print "wrong number! retry!"
       continue

2–11.
带文本菜单的程序 写一个带文本菜单的程序,菜单项如下(1)取五个数的和 (2) 取五个数的平均值....(X)退出。由用户做一个选择,然后执行相应的功能。当用户选择退出时程序结束。这个程序的有用之处在于用户在功能之间切换不需要一遍一遍的重新启动你的脚本。(这对开发人员测试自己的程序也会大有用处)
1 #!/usr/bin/env ptyon         
  2 #conding:utf-8
  3
  4 def Menu():
  5     print "==========================="
  6     print "[1] get sum from 5 numbers"
  7     print "[2] get average from 5 numbers"
  8     print "[X] Exit"
  9
10 def Sum():
11     list = [1,2,3,4,5]
12     sum=0
13     for i in xrange(len(list)):
14         list[i]=raw_input('Input a %d Number: ' % (i+1))
15         sum+=int(list[i])
16         i+=1
17     return sum
18
19 def Aver():
20     sum = Sum()
21     return sum/5
22
23 while True:
24     Menu()
25     choice = raw_input('please choice one: ') #python的多态运算有时候也带来麻烦,所以下面的 判断选项中须带引号。
26     if choice == '1': #字符串类型判断
27        SUM = Sum()
28        print "sum is :%d" % SUM   
29        print
30        continue
31     elif choice == '2':#字符串类型判断
32        Average = Aver()
33        print "Average is : %f" % Average # 多态%f
34        continue
35     elif choice == 'X':#字符串类型判断
36        break
37     else:
38        print "wrong choose,please again!"
39        continue

2–12. dir()内建函数
(a) 启动 Python 交互式解释器, 通过直接键入 dir()回车以执行 dir()内建函数。你看到
什么? 显示你看到的每一个列表元素的值,记下实际值和你想像的值
(b) 你会问, dir()函数是干什么的?我们已经知道在 dir 后边加上一对括号可以执行 dir()
内建函数, 如果不加括号会如何? 试一试。 解释器返回给你什么信息? 你认为这个信息表
示什么意思 ?
(c) type() 内建函数接收任意的 Python 对象做为参数并返回他们的类型。 在解释器中键
入 type(dir), 看看你得到的是什么?
(d) 本练习的最后一部分, 我们来瞧一瞧 Python 的文档字符串。 通过 dir.__doc__ 可
以访问 dir()内建函数的文档字符串。print dir.__doc__可以显示这个字符串的内容。 许多内建
函数,方法,模块及模块属性都有相应的文档字符串。我们希望你在你的代码中也要书写文档
字符串, 它会对使用这些代码的人提供及时方便的帮助。

2–13. 利用 dir() 找出 sys 模块中更多的东西。
(a) 启动 Python 交互解释器,执行 dir()函数,然后键入 import sys 以导入 sys 模块。
再次执行 dir()函数以确认 sys 模块被正确的导入。 然后执行 dir(sys) , 你就可以看到 sys
模块的所有属性了。
(b) 显示 sys 模块的版本号属性及平台变量。记住在属性名前一定要加 sys. ,这表示
这个属性是 sys 模块的。其中 version 变量保存着你使用的 Python 解释器版本, platform
属性则包含你运行 Python 时使用的计算机平台信息。
(c) 最后, 调用 sys.exit() 函数。 这是一种热键之外的另一种退出 Python 解释器的方
式 。

2–14. 重写 2.4 小节中 print 语句里的算术表达式, 试着在这个表达式中添加合适的
括号以便它能正常工作。

print (-2 * 4) + (3 ** 2)

2–15. 元素排序
(a)让用户输入三个数值并将分别将它们保存到 3 个不同的变量中。不使用列表或排序算法,自己写代码来对这三个数由小到大排序。(b)修改(a)的解决方案,使之从大到小排序
#!/usr/bin/env python
#-*- coding:utf-8 -*-
a =  raw_input('a= ' )
b =  raw_input('b= ' )
c =  raw_input('c= ' )

if a > b:
    if b > c:
print '%s > %s >%s' % (a,b,c)
    elif c > b:
        if a > c:
    print '%s > %s >%s' % (a,c,b)
elif c > a:
    print '%s > %s >%s' % (c,a,b)
elif a > c:
    if b > c:
if a > b:
   print '%s > %s >%s' % (a,b,c)
elif b > a:
   print '%s > %s >%s' % (b,a,c)
elif b > c:
    if b > a:
if a > c:
   print '%s > %s >%s' % (b,a,c)
elif c > a:
   print '%s > %s >%s' % (b,c,a)
elif c > a:
     if a > b:
   print '%s > %s >%s' % (c,a,b)
     elif b > a :
        if b > c:
   print '%s > %s >%s' % (b,c,a)
elif c > b:
   print '%s > %s >%s' % (c,b,a)
else:
    print '%s = %s =%s' % (c,a,b)

2–16. 文件
键入 2.15 节的文件显示的代码, 然后运行它, 看看能否在你的系统上正常工作,然后试
一下其它的输入文件。
#!/usr/bin/env python
filename = raw_input('Enter file name: ')
fobj = open(filename, 'r')
for eachLine in fobj:
    print eachLine,

fobj.close()
分享到:
评论

相关推荐

    Python核心编程 第二版

    第1部分 Python核心 第1章 欢迎来到Python世界 第2章 快速入门 第3章 Python基础 第4章 Python对象 第5章 数字 第6章 序列:字符串、列表和元组 第7章 映像和集合类型 第8章 条件和循环 第9章 文件和输入...

    Python核心编程第二版书上代码

    《Python核心编程第二版》是Python编程领域里一本经典的教程,由Wesley Chun撰写,深入浅出地介绍了Python语言的各个方面。这本书包含了丰富的实例程序,旨在帮助读者掌握Python编程的基础和高级技巧。通过分析书中...

    python核心编程第二版+答案

    《Python核心编程第二版》是Python编程领域的一本经典...通过深入阅读《Python核心编程第二版》并参考提供的答案,你将能够全面掌握Python编程的核心技能,无论你是准备入门还是寻求提高,这都将是一条宝贵的学习路径。

    python核心编程第二版第8章习题答案.pdf

    "Python核心编程第二版第8章习题答案" 本章主要包括了Python语言的基本语句、控制结构、循环语句、range函数、素数判断、约数计算、素因子分解、完全数等知识点。 1. 条件语句 条件语句是Python语言中的一种基本...

    python核心编程第二版习题答案

    在Python核心编程第二版习题答案中,通过这些问题的解答,我们可以加深对循环结构、条件语句、字符串处理、运算符使用、基本语句编写、标识符规则、Python对象属性、对象相等性判断以及模块使用等方面的认识。...

    python核心编程第二版 中文 非扫描版 高清

    根据给定的信息,我们可以推断出《Python核心编程第二版》是一本在Python编程领域备受赞誉的书籍。这本书由Wesley Chun撰写,被多位知名技术专家推荐为学习Python的最佳入门书籍之一。以下是对该书涉及的主要知识点...

    Python 核心编程 第二版

    第1部分 Python核心  第1章 欢迎来到Python世界   1.1 什么是Python   1.2 起源   1.3 特点   1.4 下载和安装Python   1.5 运行Python   1.6 Python文档   1.7 比较Python(Python与其他...

    python核心编程第二版第7章习题答案.pdf

    "Python核心编程第二版第7章习题答案" 本资源提供了Python核心编程第二版第7章习题的答案,涵盖了字典方法、字典的键、字典和列表的方法等知识点。 字典方法:dict.update(dict2)可以用来把两个字典合并到一起。...

    Python核心编程第二版第十二章答案

    这是Python核心编程第二版第十二章的答案,我做的习题答案,供大家参考,如果有误还请批评指正

    Python 核心编程第二版第十三章答案

    在Python核心编程第二版的第十三章,作者深入介绍了类和对象的概念,以及如何利用它们来构建复杂的数据结构和实现封装、继承和多态等面向对象特性。这个章节的习题旨在帮助读者巩固这些知识,通过编写实际的代码来...

    Python核心编程(第二版)第十章练习答案

    ### Python核心编程(第二版)第十章练习答案详解 #### 10.1 引发异常 **题目**: 以下的哪个因素会在程序执行时引发异常? - a) 用户 - b) 解释器 - c) 程序 - d) 以上所有 - e) 只有b) 和 c) - f) 只有a) 和 c) ...

    python核心编程第二版课后习题代码

    本文为python核心编程第二版的第 2 ,3 ,5 章课后习题代码,欢迎大家下载

    Python核心编程第二版 十五章答案1-29题

    这是我做的Python核心编程第二版第十五章习题的答案,从第一题到29题的所有代码。如果有不足或错误之处,还请前辈们指正

    python核心编程第二版第3章习题答案.pdf

    "Python核心编程第二版第3章习题答案" 本资源摘要信息涵盖了Python核心编程第二版第3章的习题答案,涵盖了标识符、变量赋值、语句、函数、异常处理、字符串格式化等多个方面的知识点。 一、标识符 * Python中不...

    Python核心编程(第二版)第十章习题答案.pdf

    Python 异常处理和错误处理 Python 语言中,异常处理是指在程序执行过程中出现错误或异常时,如何对其进行处理和恢复的过程。 Python 提供了多种异常处理机制,包括 try 语句、except 语句、finally 语句等。 引发...

    python核心编程第二版第3章习题答案实用.pdf

    "Python核心编程第二版第3章习题答案实用" 本资源总结了Python核心编程第二版第3章的习题答案,涵盖了标识符、变量、函数、语句、变量赋值、标识符规则、Python代码修改、移植和异常处理等知识点。 1. 标识符:...

    python核心编程第二版

    ### Python核心编程第二版知识点概览 #### 书籍概述与评价 《Python核心编程第二版》是一本由Wesley出版、由Wesley J. Chun编写的经典Python编程教材。该书作为一本全面深入的Python教程,在内容的深度与广度上都...

    python核心编程第二版课后题答案第五章.pdf

    Python 核心编程第二版课后题答案第五章 本资源主要介绍了 Python 编程语言的基础知识和实践应用,涵盖了多个方面的内容,包括函数定义、数据类型、运算符、控制结构、函数编程等。 函数定义 在本资源中,我们...

Global site tag (gtag.js) - Google Analytics