1、Python课后题答案0323Python课后题答案第1章 Python概述一、 填空题1. 对象2. 可移植3. 字节码4. UTF-8二、 判断题1. 对2. 对3. 对4. 对5. 错6. 错7. 对8. 错9. 对10. 错三、 选择题1. C2. ABCD3. B4. C5. D四、 简答题。1 Python具有的特点如下: 简单易学 开源 高级语言 可移植性 解释性 面向对象 可扩展性 丰富的库 规范的代码2. Python可以应用在下列领域: web应用开发 操作系统管理、服务器运维的自动化脚本 科学计算 桌面软件 服务器软件(网络软件) 游戏 构思实现,产品早期原型和迭代3.
2、Python2.x和Python3.x的区别如下: (1)在python2.x中,输出数据使用的是print语句。但是在python3.x中, print语句没有了,取而代之的是print()函数(2)python2有ASCII Str()类型,unicode()是单独的,不是byte类型。在python3.x版本的源代码中,默认使用的是UTF-8编码,从而可以很好的支持中文字符。(3)在python 2.x中,使用运算符/进行除法运算,整数相除的结果是一个整数,浮点数除法会保留小数点的部分得到一个浮点数的结果。在python 3.x中使用运算符/进行除法,整数之间的相除,结果也会是浮点数。(
3、4)相比python2.x版本,python3.x版本在异常方面有很多改变: 在python2.x版本,所有类型的对象都是直接被抛出的,但是,在python3.x版本中,只有继承自BaseException的对象才可以被抛出。 在python2.x版本中,捕获异常的语法是except exc,var。在python3.x版本中,引入了as关键字,捕获异常的语法变更为except exc as var。 在python2.x版本中,处理异常使用raise Exception(args)。在python3.x版本中,处理异常使用raiseException,args。 python3.x取消了异常
4、类的序列行为和.message属性。(5)在Python 3.x中,表示八进制字面量的方式只有一种,并且必须写0o1000这样的方式,原来01000的方式不能使用了。(6)Python 2.x中不等于有两种写法 != 和 ;但是,Python 3.x中去掉了, 只有!=一种写法(7)python3.x去除了long类型,现在只有一种整型int,但它的行为就像是python2.x版本的long。4. Python程序的执行原理如图所示。python解释器将源代码转换为字节码,然后把编译好的字节码转发到Python虚拟机(PVM)中进行执行5. IPython的特点如下: IPython具有卓越的
5、Python shell,其性能远远优于标准Python的shell。 IPython支持变量自动补全,自动缩进,支持 bash shell 命令,内置了许多很有用的功能和函数。 IPython提供了基于控制台命令环境的定制功能,可以十分轻松地将交互式Python shell包含在各种Python应用中,甚至可以当作系统级shell来使用。五、 编程题。1 代码如下:print(+) print(+ +) print(+)2. 代码如下:print(学Python,来传智播客黑马程序员) print(学Python,来传智播客黑马程序员) print(学Python,来传智播客黑马程序员) p
6、rint(学Python,来传智播客黑马程序员) print(学Python,来传智播客黑马程序员)第2章 Python基本语法一、 填空题1. int2. True False3. 84. 1.2e55. 000000106. 0b101007. type()8. 19. 2010. 4.34103二、 判断题1. 对2. 错3. 对4. 对5. 错6. 错7. 对8. 对9. 对10. 对三、 选择题1. D2. D3. A4. A5. C6. B7. B8. B9. C10. D四、 简答题1. Python中标识符的命名规则如下所示: 标识符由字母、下划线和数字组成,且数字不能开头 p
7、ython中的标识符是区分大小写的。 python中的标识符不能使用关键字2. 简述Python中的数字类型有:int(整型)、long(长整型)、float(浮点数)、complex(复数)五、 编程题1. 代码如下: import math a=float(input(请输入斜边 1 的长度) #输入实数 b=float(input(请输入斜边 2 的长度) #输入实数 c=a*a+b*b #计算,得到的是斜边的平方 c=math.sqrt(c) #开方,得到的是斜边长 print(斜边长为:,c) #显示,一项是字符串,一项是 c 表示的斜边长2. 代码如下:# 用户输入x = inpu
8、t(输入 x 值: )y = input(输入 y 值: )# 不使用临时变量x,y = y,xprint(交换后 x 的值为: .format(x)print(交换后 y 的值为: .format(y)第3章 Python常用语句一、 填空题1. break2. elif3. continue4. True5. pass二、 判断题1. 错2. 对3. 对4. 对5. 对三、 选择题1. C2. C3. C4. C5. D四、 简答题1. Pass语句Python中的pass是空语句,它的出现是为了保持程序结构的完整性。pass 不做任何事情,一般用做占位语句。2. break语句用于结束整
9、个循环;continue的作用是用来结束本次循环,紧接着执行下一次的循环。五、 编程题1. 代码如下:for i in range(1,11): print(i)2. 代码如下:a=int(input(请输入一个数:) if a0: print(a是一个正数) elif a0: print(a是一个负数) else: print(a等于0)3. 代码如下:i=1 while i10: j=1 while j= 1: ai = arr.count(i) print(a) else: print(输入的内容有误)count()4. 答案:arr = result = myStr = input(请
10、输入字符串:)for string in myStr: arr.append(string)last = arr-1arr.remove(last)arr.insert(0,last)for new in arr: result = result + newprint(result)5. 答案:arr = length = int(input(请要输入数字的总个数(必须为奇数):)i = 0while i length: num = int(input(输入第%d个数字:%(i+1) arr.append(num) i+=1arr.sort()index = int(length/2)prin
11、t(arrindex)6. 答案:第一种:arr = 1,2,3,4,5arr.reverse()print(arr)第二种:arr = 1,2,3,4,5arr.sort(reverse=True)print(arr)7. 答案:arr = length = int(input(请输入数字的总个数:)i = 0while i arrj: arrj-1,arrj = arrj,arrj-1 flag = 1 if not flag: breakprint(排序后:%s%arr)8. 答案:arr = length = int(input(请输入列表的总个数:)i = 0while i leng
12、th: element = input(输入第%d个元素:%(i+1) arr.append(element) i+=1# 列表转为集合newList = set(arr)print(newList)9. 答案:def add(a, b): # 下面两行保证输入的a和b是维数相同的矩阵,根据实际情况不要也可以 assert (len(a) = len(b) assert (all(len(ai) = len(bi) = len(a0) for i in range(len(a) i, j = len(a), len(a0) c = 0 * j * i for m in range(i): fo
13、r n in range(j): cmn = amn + bmn return ca = 1, 2, 3, 4, 5, 6, 7, 8, 9b = 9, 8, 7, 6, 5, 4, 3, 2, 1c = add(a, b)print(c)10. 答案:dic = i=0while i 1: # 查看因子 for i in range(2, element): if (element % i) = 0: break else: arr.remove(element)delPrime(arr)print(arr)第6章 函数一、 单选题1. C2. D3. C4. A5. C6. D二、 判断题
14、1. 错2. 对3. 对4. 错5. 对6. 对7. 错8. 对三、 填空题1. 逗号2. return3. return4. 不定长5. 嵌套6. 局部7. 整个程序8. global四、 简答题1. 答案:局部变量:(1)函数内部定义的变量;(2)作用域是函数的内部。全局变量:(1)函数外部定义的变量;(2)作用域是整个程序。2. 答案:(1)以def关键字开头,后面接函数标识符名称和圆括号;(2)给函数起名字的时候,规则跟变量的名字是一样的;(3)任何传入参数和自变量必须放在圆括号中间;(4)函数的第一行语句可以选择性地使用文档字符串用于存放函数说明;(5)函数内容以冒号起始,并且缩进;
15、(6)return 表达式 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。五、 程序分析题1结果为1002结果为:2003结果为:200,100六、 编程题1. 答案:def getMax(): num1 = int(input(请输入第1个整数:) num2 = int(input(请输入第2个整数:) num3 = int(input(请输入第3个整数:) temp = 0 # 临时变量,存放中间产生的第2大数值 if num1 num2: temp = num1 else: temp = num2 if tempnum3: return 其中最大值为
16、:+ str(temp) else: return 其中最大值为:+ str(num3)maxValue = getMax()print(maxValue)2. 答案:def sum(n): res = 0 while n = 1: if n%2 = 0: res -= 1.0/(n*(n+1) else: res += 1.0/(n*(n+1) n-=1 return resnum = int(input(请输入一个整数:)print(sum(num)3. 答案:def is_palindrome(n): n=str(n) m=n:-1 return n=mresult = is_palin
17、drome(1247321)print(result)4. 答案def sjx(a, b, c): if (a + b c and a + c b and b + c a): return 能构成三角形 else: return 不能构成三角形result1 = sjx(3, 4, 5)print(result1)result2 = sjx(1, 1, 2)print(result2)5. 答案:# 定义函数def lcm(x, y): # 获取最大的数 if x y: greater = x else: greater = y while(True): if(greater % x = 0)
18、 and (greater % y = 0): lcm = greater break greater += 1 return lcm# 获取用户输入num1 = int(input(输入第一个数字: )num2 = int(input(输入第二个数字: )print( num1,和, num2,的最小公倍数为, lcm(num1, num2)第7章 高级函数一、 单选题1. B2. C3. D4. A二、 判断题1. 错2. 错3. 错4. 对5. 对6. 错7. 错8. 对9. 对10. 错11. 对三、 填空题1. 闭包2. 函数3. 被修饰的函数4. 5. 内嵌6. map7. None8. filter9. 布尔10. 两四、 简答题1. 答案:(1)存在于嵌套关系的函数中;(2)嵌套的内部函数引用了外部函数的变量;(3)嵌套的外部函数会将内部函数名作为返回值返回。2. 答案:(1)引入日志;(2)函数执行时间统计;(3)执行函数
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1