python核心编程第2版第2章习题答案.docxVIP

  • 51
  • 0
  • 约 12页
  • 2017-05-18 发布于四川
  • 举报
python核心编程第2版第2章习题答案

2-1.变量,print和字符串格式化操作符。启动交互式解释器,给一些变量赋值(字符串,数值等)并通过输入变量名显示他们的值。再用print语句做同样的事。这两者有何区别?也尝试着使用字符串格式操作符%,多做几次,慢慢熟悉它。 答案: 对于一个字符串,在仅使用变量名时,输出的字符串是用单引号括起来了的。这是为了让非字符串对象也能以字符串的方式显示在屏幕上,即它显示的是该对象的字符串表示,而不仅仅是字符串本身。如果使用print命令,能使输出更加友好。 2-2.程序输出。阅读下面的Python脚本。 #!/usr/bin/env python 1 + 2 * 4 (a)你认为这段脚本是用来做什么的? (b)你认为这段脚本会输出什么? (c)输入以上代码,并保存为脚本,然后运行它,它所做的与你的预期一样吗?为什么一样/不一样? (d)这段代码单独执行和在交互解释器中执行有何不同?试一下,然后写出结果。 (e)如何改进这个脚本,以便它能和你想象的一样工作? 答案: (a)计算 (b)输出9 (c)不一样,不会有输出 (d)在交互解释器中可以输出9 (e)需添加一个print,即 #!/usr/bin/env python print 1 + 2 * 4 2-3.数值和操作符。启动交互解释器,使用Python对两个数值(任意类型)进行加、减、乘、除运算。然后使用取余操作符来得到两个数相除的余数,最后使用乘方操作符求A数的B次方。 答案: 当使用x/y形式进行除法运算时,如果x和y都是整形,那么运算的结果就是运算的整数部分。 print 10 / 3 3 如果x和y中有一个是浮点数,那么会进行精确除法。 print 10 / 3.0 3.33333333333 所谓地板除,采用x//y的形式,得到不大于结果的最大整数值,这个运算时与操作数无关的。 1//2 0 1.0//2 0.0 -1//2.0 -1.0 2-4. 使用raw_input()函数得到用户输入。 (a)创建一段脚本使用raw_input()内建函数从用户输入得到一个字符串,然后显示这个用户刚刚键入的字符串。 (b)添加一段类似的代码,不过这次输入的是数值。将输入数据转换为一个数值对象,(使用int()或其他数值转换函数)并将这个值显示给用户看(注意,如果你用的是早于1.5的版本,你需要??用string.ato*()函数执行这种转换)。 答案: (a) a = raw_input(please input a string: ) please input a string: hello world print a hello world (b) a = raw_input(please input a number: ) please input a number: 123 print type(a) type str a = int(raw_input(please input a number: )) please input a number: 123 print type(a) type int 2-5.循环和数字。分别使用while和for创建一个循环。 (a)写一个while循环,输出整型为0~10(要确保是0~10,而不是0~9或1~10)。 (b)做同(a)一样的事,不过这次使用range()内建函数。 答案: (a) i = 0 while i 11: print i, i += 1 0 1 2 3 4 5 6 7 8 9 10 (b) for i in range(0,11): print i, 0 1 2 3 4 5 6 7 8 9 10 2-6.条件判断。判断一个数是正数还是负数,或者是0。开始先用固定的数值,然后修改你的代码支持用户输入数值再进行判断。 答案: a = int(raw_input(Please input a number: )) if a 0: print The number is Positive. elif a 0: print The number is negative. else: print The number is Zero. 2-7.循环和字串。从用户那里接受一个字符串输入,然后逐字符显示该字符串。先用while循环实现,然后再用for循环实现。 for循环 a = raw_input(please input a string: ) for i in a: print i, while循环 a = raw_input(please input a string: ) i = 0 while i len(a): print a[i], i = i

文档评论(0)

1亿VIP精品文档

相关文档