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 ~