Python核心编程(第二版) 第二章习题答案 未完待续

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次方。
答:
>>> a=60
>>> b=2.0
>>> a+b
62.0
>>> a-b
58.0
>>> a*b
120.0
>>> a/b
30.0
>>> a%b
0.0
>>> a**b
3600.0
>>>

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

1 #!/usr/bin/python
2 
3 '''using raw_input'''
4 
5 string=raw_input("Please input a string:")
6 print "You input:%s" %string
7 
8 digit=int(raw_input("Please input a num:"))
9 print "you input:%d"%digit

 

2-5. 循环和数字。分别使用while和for创建一个循环。
(a)写一个while循环,输出整型为0~10(要确保是0~10,而不是0~9或1~10)。
(b)做同(a)一样的事,不过这次使用range()内建函数。

答:

 1 #!/usr/bin/python
 2 
 3 '''practise for loop and digits'''
 4 
 5 num=0
 6 
 7 #while loop
 8 
 9 while num<=10:
10         print num
11         num=num+1
12 
13 
14 #for loop
15 
16 for i in range(11):
17         print i

 

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

答:

 1 #!/usr/bin/python
 2 
 3 '''receive a num and judge it'''
 4 
 5 num=float(raw_input("Please input a num:"))
 6 if num>0:
 7         print "%f is lager than 0"%num
 8 elif num==0:
 9         print "%f is equal to 0"%num
10 else:
11         print "%f is litter than 0"%num

 

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

答:

 1 #!/usr/bin/python
 2 ''' print the string.'''
 3 
 4 string=raw_input("Please input a string:")
 5 
 6 #while loop
 7 n=0
 8 while n<len(string):
 9         print string[n]
10         n=n+1
11 
12 
13 #for loop
14 for s in string:
15         print s

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

答:

 1 #!/usr/bin/python
 2 '''receive 5 num and sum it'''
 3 
 4 #while realizing
 5 
 6 num=0
 7 li=[]
 8 sum=0
 9 while num<5:
10         a=float(raw_input("Please enter a num:"))
11         li.append(a)
12         sum=sum+a
13         num=num+1
14 
15 print li
16 print "The sum of 5 num is %f"%sum
17 
18 
19 #for loop relizing
20 
21 
22 li=[]
23 sum=0
24 for i in range (5):
25         a=float(raw_input("Please enter a num:"))
26         li.append(a)
27         sum=sum+a
28 
29 print li
30 print "The sum of 5 num is %f"%sum
31 ~                                     

 

 

 

 

posted @ 2014-05-20 21:51  tmyyss  阅读(673)  评论(0编辑  收藏  举报