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 ~