2-1. 变量,print和字符串格式化操作符。启动交互式解释器,给一些变量赋值(字符串,数值等)并 通过输入变量名显示它们的值。在用print语句做同样的事情。这二者有何区别?也尝试使用字符 串格式操作符%,多做几次,慢慢熟悉它。
答案:
由上可知,直接输入变量名显示的该对象的字符串表示,而print和格式化打印则显示的是字符串。
2-2. 程序输出,阅读下面的Python脚本。
#!/usr/bin/env python
1+2*4
(a) 你认为这段脚本是用来做什么的?
(b) 你认为这段脚本会输出什么?
(c) 输入以上代码,并保存为脚本,然后运行它。它所做的预期与你的预期一样吗?为什么一样/ 不一样?
(d) 这段代码单独执行和在交互式解释器中执行有何不同?试一下,然后写出结果。
答案:
(a) 这段代码意图是输出1+2*4的和
(b) 这段脚本什么也不会输出
(c) 不一样,因为这个脚本仅仅是一个表达式,而不是一个语句。
(d) 单独执行时不会显示任何内容,在交互式解释器中可以显示预期的结果。
2-3. 数值和操作符。启动交互解释器,使用Python对两个数值(任意类型)进行加、减、乘、除运
算 。然后使用取余操作符来得到两个数相除的余数,最后使用乘方操作符求A数的B次方。
答案:
2-4. 使用raw_input()函数得到用户输入。
(a) 创建一段脚本使用raw_input()内建函数从用户得到一个字符串,然后显示这个用户刚刚键入 的字符串。
(b) 添加一段类似的代码,不过这次输入的是数值。将用户输入数据转换为一个数值对象,(使用 int()或其他数值转换函数)并将这个值显示给用户看(注意,如果你用的是早于1.5的版本, 你需要使用 string.ato*()函数执行这种转换)。
答案:
(a)
#!/usr/bin/env python mystring=raw_input('Enter a string :') print mystring
(b)
#!/usr/bin/env python mynum=raw_input('Enter a number:') print 'The number is %d.'%(int(mynum))
2-5. 循环和数字。
分别用while和for循环创建一个循环。
(a)写一个while循环,输出整型为0~10(要确保是0~10,而不是1~10或者0~9)
(b)做同(a)一样的事,这次使用range()函数。
答案:
(a)
#!/usr/bin/env python i=0 while i+1<=11: print i, i+=1
#!/usr/bin/env python num=[0,1,2,3,4,5,6,7,8,9,10] for i in num: print i,
(b)
for i in range(11): print i,
不知道怎么用while写了
2-6. 条件判断。判断一个数是正数,还是负数,或者是0.开始时先用固定的数值,然后修改代码支持 用户输入数值再进行判断。
答案:
#!/usr/bin/env python mynum=raw_input('Enter a number:') if int(mynum)>0: print 'This is a postive number.' elif int(mynum)==0: print 'This number is zero.' else: print 'This is negetive number.'
2-7. 循环和字串。从用户那里接受一个字符串输入,然后逐个字符显示该字符串。先用while循环实 现,然后再用for循环实现。
答案:
#!/usr/bin/env python mystring=raw_input('Enter a string:') i=0 while i<len(mystring): print mystring[i]+'+', i+=1
#!/usr/bin/env python mystring=raw_input('Enter a string:') for i in mystring: print i+'+',
2-8. 循环和操作符。创建一个包含五个固定数值的列表或元组,输出它们的和。 然后修改你的代码为 接受用户输入数值,分别使用while和for循环实现。
答案:
#!/usr/bin/env python num=[1,2,3,4,5] s=0 for i in num: s=s+i print s
#!/usr/bin/env python num=[1,2,3,4,5] s=0 i=0 while i<len(num): s=s+num[i] i=i+1 print s
2-9. 循环和操作符。创建一个包含五个固定数值的列表或者元组,输出它们的平均值。本练习的难点 是通过除法得到平均值。你会发现整型除会截去小数,因此你必须使用浮点除得到更精确的结 果。float()内建函数可以实现此功能。
答案:
#!/usr/bin/env python num=[2,5,8,4,9] s=0 for i in num: s+=i con=float(s)/5 print con