第二章答案
来源:互联网 发布:sql在excel中的应用 编辑:程序博客网 时间:2024/04/30 03:30
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 pythonprint 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/python2 3 '''using raw_input'''4 5 string=raw_input("Please input a string:")6 print "You input:%s" %string7 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 num11 num=num+112 13 14 #for loop15 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"%num10 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+111 12 13 #for loop14 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+a13 num=num+114 15 print li16 print "The sum of 5 num is %f"%sum17 18 19 #for loop relizing20 21 22 li=[]23 sum=024 for i in range (5):25 a=float(raw_input("Please enter a num:"))26 li.append(a)27 sum=sum+a28 29 print li30 print "The sum of 5 num is %f"%sum2–10.带循环和条件判断的用户输入 使用 raw_input()函数来提示用户输入一个 1 和 100 之间的数,如果用户输入的数满足这个条件,显示成功并退出。否则显示一个错误信息然后再次提示用户输入数值,直到满足条件为止。#!/usr/bin/env ptyon#conding:utf-8while True:num = int(raw_input("please input a integer number 1-100: ")) #int 必须的,如若没有,则始终到else语句if 1 <= num and num <= 100: # 1<=num<=100 在Python 中成立print numbreakelse:print "wrong number! retry!"continue2–11.带文本菜单的程序 写一个带文本菜单的程序,菜单项如下(1)取五个数的和 (2) 取五个数的平均值....(X)退出。由用户做一个选择,然后执行相应的功能。当用户选择退出时程序结束。这个程序的有用之处在于用户在功能之间切换不需要一遍一遍的重新启动你的脚本。(这对开发人员测试自己的程序也会大有用处)1 #!/usr/bin/env ptyon2 #conding:utf-834 def Menu():5 print "==========================="6 print "[1] get sum from 5 numbers"7 print "[2] get average from 5 numbers"8 print "[X] Exit"910 def Sum():11 list = [1,2,3,4,5]12 sum=013 for i in xrange(len(list)):14 list[i]=raw_input('Input a %d Number: ' % (i+1))15 sum+=int(list[i])16 i+=117 return sum1819 def Aver():20 sum = Sum()21 return sum/52223 while True:24 Menu()25 choice = raw_input('please choice one: ') #python的多态运算有时候也带来麻烦,所以下面的 判断选项中须带引号。26 if choice == '1': #字符串类型判断27 SUM = Sum()28 print "sum is :%d" % SUM29 print30 continue31 elif choice == '2':#字符串类型判断32 Average = Aver()33 print "Average is : %f" % Average # 多态%f34 continue35 elif choice == 'X':#字符串类型判断36 break37 else:38 print "wrong choose,please again!"39 continue2–12. dir()内建函数(a) 启动 Python 交互式解释器, 通过直接键入 dir()回车以执行 dir()内建函数。你看到什么? 显示你看到的每一个列表元素的值,记下实际值和你想像的值(b) 你会问, dir()函数是干什么的?我们已经知道在 dir 后边加上一对括号可以执行 dir()内建函数, 如果不加括号会如何? 试一试。 解释器返回给你什么信息? 你认为这个信息表示什么意思 ?(c) type() 内建函数接收任意的 Python 对象做为参数并返回他们的类型。 在解释器中键入 type(dir), 看看你得到的是什么?(d) 本练习的最后一部分, 我们来瞧一瞧 Python 的文档字符串。 通过 dir.__doc__ 可以访问 dir()内建函数的文档字符串。print dir.__doc__可以显示这个字符串的内容。 许多内建函数,方法,模块及模块属性都有相应的文档字符串。我们希望你在你的代码中也要书写文档字符串, 它会对使用这些代码的人提供及时方便的帮助。2–13. 利用 dir() 找出 sys 模块中更多的东西。(a) 启动 Python 交互解释器,执行 dir()函数,然后键入 import sys 以导入 sys 模块。再次执行 dir()函数以确认 sys 模块被正确的导入。 然后执行 dir(sys) , 你就可以看到 sys模块的所有属性了。(b) 显示 sys 模块的版本号属性及平台变量。记住在属性名前一定要加 sys. ,这表示这个属性是 sys 模块的。其中 version 变量保存着你使用的 Python 解释器版本, platform属性则包含你运行 Python 时使用的计算机平台信息。(c) 最后, 调用 sys.exit() 函数。 这是一种热键之外的另一种退出 Python 解释器的方式 。2–14. 重写 2.4 小节中 print 语句里的算术表达式, 试着在这个表达式中添加合适的括号以便它能正常工作。print (-2 * 4) + (3 ** 2)2–15. 元素排序(a)让用户输入三个数值并将分别将它们保存到 3 个不同的变量中。不使用列表或排序算法,自己写代码来对这三个数由小到大排序。(b)修改(a)的解决方案,使之从大到小排序#!/usr/bin/env python#-*- coding:utf-8 -*-a = raw_input('a= ' )b = raw_input('b= ' )c = raw_input('c= ' )if a > b:if b > c:print '%s > %s >%s' % (a,b,c)elif c > b:if a > c:print '%s > %s >%s' % (a,c,b)elif c > a:print '%s > %s >%s' % (c,a,b)elif a > c:if b > c:if a > b:print '%s > %s >%s' % (a,b,c)elif b > a:print '%s > %s >%s' % (b,a,c)elif b > c:if b > a:if a > c:print '%s > %s >%s' % (b,a,c)elif c > a:print '%s > %s >%s' % (b,c,a)elif c > a:if a > b:print '%s > %s >%s' % (c,a,b)elif b > a :if b > c:print '%s > %s >%s' % (b,c,a)elif c > b:print '%s > %s >%s' % (c,b,a)else:print '%s = %s =%s' % (c,a,b)2–16. 文件键入 2.15 节的文件显示的代码, 然后运行它, 看看能否在你的系统上正常工作,然后试一下其它的输入文件。#!/usr/bin/env pythonfilename = raw_input('Enter file name: ')fobj = open(filename, 'r')for eachLine in fobj:print eachLine,fobj.close()
- AC++第二章答案
- 第二章答案
- 第二章习题答案
- 思科CCNA第二学期第二章答案
- python(第二版)第二章答案
- C语言程序设计第二章答案
- 第二章 课后题答案
- 考研题目 第二章 线性表 答案
- 第二章课后答案2-4
- 算法导论第二章习题答案
- 转深入理解计算机系统第二章答案。。
- 学习opencv 第二章 习题5答案
- C++编程思想第二章课后答案
- ANSI Common Lisp 第二章答案
- 《python核心编程》第二章练习答案
- 学习OpenCV第四章第二题答案
- 编程珠玑第二章习题答案
- 思科CCNA第一学期第二章答案
- 超级终端初步使用
- 实现如下图所示的列表文字切换图片的效果
- 利用JS载入JS及CSS
- 美在身旁,微笑不語
- linux系统误删除zlib导致系统不能正常开机解决办法
- 第二章答案
- 通过Keepalived实现Redis Failover自动故障切换功能
- C语言总结
- (五证合一)法人和其他组织统一社会信用代码编码规则
- vs2008打开并且调试wince工程
- CentOS-更新yum源
- ADS(ARM Developer Suite)安装与卸载中的问题(转)
- 【JEECG技术博文】JEECG 简单实例讲解权限控制
- angularjs中radio表单提交问题