《(中职)Python编程基础与应用第6章节练习题+答案(工信版).docx》由会员分享,可在线阅读,更多相关《(中职)Python编程基础与应用第6章节练习题+答案(工信版).docx(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第6章节练习题一、选题题1)以下选项不是函数作用的是:A.复用代码B.强代码可读性C.降低编程复杂度D.提高代码执行速度度2)下列程序的输出结果为:def f(a,b): a=4 return a+bdef main(): a=5 b=6 print(f(a,b),a+b)main()A.10 11B.10 10C.11 10D.11 113)以下关于Python函数说法错误的是:def func(a,b): c=a*2+b b=a return ca=10b=100c=func(a,b)+aA.执行该函数后,变量a的值为10B.执行该函数后,变量c的值为200C.该函数名称为funcD.执行
2、该函数后,变量b的值为100,c的值应该为2104)以下关于函数调用描述正确的是:A.函数和调用只能发生在同一个文件中B.自定义函数调用前必须定义C.Python内置函数调用前需要引用相应的库D.函数在调用前不需要定义,拿来即用就好5)以下关于函数说法错误的是:A.函数可以看做是一段具有名字的子程序B.函数是一段具有特定功能的、可重用的语句组C.对函数的使用必须了解其内部实现原理D.函数通过函数名来调用二、操作题1)编写一个函数,解决以下问题:猴子第1天摘了一堆桃子吃了一半又多一个,第2天吃了剩下的一半又多一个,.,第10天早上时发现只有1个桃子了。问第1天摘了多少?运行效果如下图所示。2)编
3、写一个函数,解决以下问题:斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3, 5, 8, 13,特别指出:第0项是0,第1项是第一个1。从第三项开始,每一项都等于前两项之和。要求程序输入一个正整数N,最后输出N个数列。运行效果如下图所示。3)编写一个函数,用于判断输入的一个三位数是否是水仙花数。所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个水仙花数,因为153=1的三次方5的三次方3的三次方。4)编写一个函数,用于判断输入的两个数的最大公约数。运行效果如下图所示。5)简单计算器实现,使用自定义函数方式编写一个简单的计算器。运行效果如下图所示。第6章节练习
4、题的参考答案一、选择题12345AABBC二、操作题第1题#编写一个函数,解决以下问题:猴子第1天摘了一堆桃子吃了一半又多一个,第2天吃了剩下的一半又多一个,.,第10天早上时发现只有1个桃子了。问第1天摘了多少?def g(n): if n=10: return 1 else: return 2*(g(n+1)+1)print(g(1)input()第2题#编写一个函数,解决以下问题:斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3, 5, 8, 13,特别指出:第0项是0,第1项是第一个1。从第三项开始,每一项都等于前两项之和。要求程序输入一个正整数N,最后输出N个数列。# Py
5、thon 斐波那契数列实现# 获取用户输入数据nterms = int(input(你需要输出多少个?)# 第一和第二项n1 = 0n2 = 1count = 2# 判断输入的值是否合法if nterms = 0: print(请输入一个正整数。)elif nterms = 1: print(斐波那契数列:) print(n1)else: print(斐波那契数列:) print(n1, , n2, end= , ) while count y: smaller = y else: smaller = x for i in range(1, smaller + 1): if (x % i =
6、0) and (y % i = 0): hcf = i return hcf# 用户输入两个数字num1 = int(input(输入第一个数字: )num2 = int(input(输入第二个数字: )print(num1, 和, num2, 的最大公约数为, hcf(num1, num2)input()第5题#简单计算器实现,使用自定义函数方式编写一个简单的计算器。# 定义函数def add(x, y): 相加 return x + ydef subtract(x, y): 相减 return x - ydef multiply(x, y): 相乘 return x * ydef divi
7、de(x, y): 相除 return x / y# 用户输入print(选择运算:)print(1、相加)print(2、相减)print(3、相乘)print(4、相除)choice = input(输入你的选择(1/2/3/4):)num1 = int(input(输入第一个数字: )num2 = int(input(输入第二个数字: )if choice = 1: print(num1, +, num2, =, add(num1, num2)elif choice = 2: print(num1, -, num2, =, subtract(num1, num2)elif choice = 3: print(num1, *, num2, =, multiply(num1, num2)elif choice = 4: print(num1, /, num2, =, divide(num1, num2)else: print(非法输入)input()