<python 核心编程第二版课后习题>第二章

来源:互联网 发布:网上谈恋爱软件 编辑:程序博客网 时间:2024/06/09 13:40

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

>>> myString = 'Hello World!' 

>>> print myString 

Hello World!

 >>> myString

 'Hello World!' 

在仅用变量名时,输出的字符串是被用单引号括起来了的。这是为了让非字符串对 象也能以字符串的方式显示在屏幕上--即它显示的是该对象的字符串表示,而不仅仅是字符 串本身。引号表示你刚刚输入的变量的值是一个字符串。等你对Python有了较深入的了解之后, 你就知道print语句调用str()函数显示对象,而交互式解释器则调用repr()函数来显示对象。 

2–2.   P程序输出, 阅读下面的 Python 脚本:  
#!/usr/bin/env python 

1 + 2 * 4  

脚本语言的第一行,目的就是指出,你想要你的这个文件中的代码用什么可执行程序去运行它,就这么简单

#!/usr/bin/python是告诉操作系统执行这个脚本的时候,调用/usr/bin下的python解释器;
#!/usr/bin/env python这种用法是为了防止操作系统用户没有将python装在默认的/usr/bin路径里。当系统看到这一行的时候,首先会到env设置里查找python的安装路径,再调用对应路径下的解释器程序完成操作。
#!/usr/bin/python相当于写死了python路径;
#!/usr/bin/env python会去环境设置寻找python目录,推荐这种写法



(a)  你认为这段脚本是用来做什么的? 

计算2*4+1

(b)  你认为这段脚本会输出什么?

9

 (c)  输入以上代码,并保存为脚本,然后运行它。它所做的与你的预期一样吗?为什么一 样/不一样?

一样

 (d)  这段代 独 码单 执行和在交互解释器中执行有何不同?试一下,然后写出结果 

单独执行没有输出

交互解释器执行有输出

(e)  如何改 个 进这 脚本, 以便它能和你想像的一样工作

添加print 语句

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)

注意:Python 不支持 C 语言中的自增 1 和自减 1 运算符, 这是因为 + 和 - 也是单目运算符, Python 会将 --n 解释为-(-n) 从而得到 n , 同样 ++n 的结果也是 n.  

(b) 做同 (a) 一样的事, 不过这次使用 range() 内建函数。 

2–6.   条件判断  判断一个数是正数,还是 数 负 , 或者等于 0. 开始先用固定的数值,然 后修改你的代码支持用户输入数值再进行判断。 

2–7.    循环和字串 从用户那里接受一个字符串输入,然后逐字符显示该字符串。先用 while 循 环实现,然后再用 for 循环实现。 

2–8.  循环和运算符 创建一个包含五个固定数值的列表或元组,输出他们的和。然后修 改你的代码为接受用户输入数值。 分别使用 while 和 for 循环实现。 

2–9.    循环和运算符 创建一个包含五个固定数值的列表或元组,输出他们的平均值。本练习的难 点之一是通过除法得到平均值。 你会发现整数除会截去小数,因此你必须使用浮点除以得到更 精确的结果。 float()内建函数可以帮助你实现这一功能。 

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

2–11.    带文本菜单的程序 写一个带文本菜单的程序,菜单项如下(1)取五个数的和 (2) 取五个 数的平均值....(X)退出。由用户做一个选择,然后执行相应的功能。当用户选择退出时程序 结束。 个 这 程序的有用之处在于用户在功能之间切换不需要一遍一遍的重新启你 动 的脚本。(这 开 对发 人员测试自己的程序也会大有用处) 

2–12.   dir()内建函数 
Edit By Vheavens 
Edit By Vheavens                               
(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 语句里的算术表达式, 试着在 个 这 表达式中添加合适的 括号以便它能正常工作。 


2–15.   元素排序 (a)让用户输入三个数 并将 值 分 将它 别们 保存到3个不同的变量中。不使用列表或排序算法, 自己写代 来码 对这 三个数由小到大排序。(b)修改(a)的解决方案,使之从大到小排序 

# -*- coding:utf-8 -*-a = raw_input("please input a number: ")b = raw_input("please input a number: ")c = raw_input("please input a number: ")a = int(a)b = int(b)c = int(c)'''if a>=b:if a>=c:print aif b >= c:print bprint celse:print cprint belse:if c>=b:print cprint bprint aelse:print bif a>=c:print aprint celse:print cprint a'''if a<=b:if b<=c:print aprint bprint celse:if a<=c:print aprint cprint belse:print cprint aprint belse:if b >=c:print cprint bprint aelse:if c<=a:print bprint cprint aelse:print bprint aprint c


2–16.   文件 键入 2.15节的文件显示的代码, 然后运行它, 看看能否在你的系统上正常工作,然后试 一下其它的输入文件。 

阅读全文
0 0
原创粉丝点击