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=int(raw_input("Please input a num:")) 6 if num>0: 7 print "%d is lager than 0"%num 8 elif num==0: 9 print "%d is equal to 0"%num 10 else: 11 print "%d is litter than 0"%num