1、以下选项不是函数作用的是: A、增强代码可读性 B、降低编程复杂度 C、提高代码执行速度 D、复用代码 正确答案: C 函数不能直接提高代码执行速度。
2、列程序的输出结果为:
def f(a,b): a=4 return a+b def main(): a=5 b=6 print(f(a,b),a+b) main()
A、10 11
B、11 11
C、10 10
D、11 10
正确答案: A 这里没有全局变量,都是函数局部变量的运算。
3、以下关于Python函数说法错误的是:
def func(a,b): c=a**2+b b=a return c a=10 b=100 c=func(a,b)+a A、执行该函数后,变量a的值为10
B、执行该函数后,变量c的值为200
C、执行该函数后,变量b的值为100
D、该函数名称为func
正确答案: B 这里没有全局变量,请在IDLE中执行代码观察结果。
4、以下关于函数调用描述正确的是: A、函数在调用前不需要定义,拿来即用就好 B、自定义函数调用前必须定义 C、函数和调用只能发生在同一个文件中 D、Python内置函数调用前需要引用相应的库 正确答案: B 函数调用前必须已经存在函数定义,否则无法执行。
Python内置函数直接使用,不需要引用任何模块。
5、以下关于模块化设计描述错误的是: A、模块间关系尽可能简单,模块之间耦合度低 B、应尽可能合理划分功能块,功能块内部耦合度高 C、高耦合度的特点是复用较为困难 D、应尽可能合理划分功能块,功能块内部耦合度低 正确答案: D 模块内高耦合、模块间低耦合。
6、以下对递归描述错误的是: A、一定要有基例 B、执行效率高 C、递归程序都可以有非递归编写方法 D、书写简单 正确答案: B 递归不提高程序执行效率。
任何递归程序都可以通过堆栈或队列变成非递归程序(这是程序的高级应用)。
7、以下关于函数说法错误的是: A、函数可以看做是一段具有名字的子程序 B、对函数的使用必须了解其内部实现原理 C、函数是一段具有特定功能的、可重用的语句组 D、函数通过函数名来调用 正确答案: B 调用函数不需要知道函数内部实现原理,只需要知道调用方法(即接口)即可。
8、哪个选项对于函数的定义是错误的? A、def vfunc(a,b): B、def vfunc(a,b=2): C、def vfunc(a,*b): D、def vfunc(*a,b): 正确答案: D def vfunc(*a, b) 是错误的定义:*a表示可变参数,可变参数只能放在函数参数的最后。
9、关于return语句,以下选项描述正确的是: A、函数必须有一个return语句 B、函数中最多只有一个return语句 C、return只能返回一个值 D、函数可以没有return语句 正确答案: D 函数可以包含0个或多个return语句
10、以下关于递归函数基例的说法错误的是: A、递归函数的基例不再进行递归 B、递归函数的基例决定递归的深度 C、每个递归函数都只能有一个基例 D、递归函数必须有基例 正确答案: C 每个递归函数至少存在一个基例,但可能存在多个基例。
**
** 描述:
输入输出3634 524 926补充编程模板中代码,完成如下功能:
以整数17为随机数种子,获取用户输入整数N为长度,产生3个长度为N位的密码,密码的每位是一个数字。每个密码单独一行输出。
产生密码采用random.randint()函数。
import random def genpwd(length): a = pow(10, length - 1) # 定义一个下限 b = pow(10, length) - 1 # 定义一个上限 return "{}".format(random.randint(a, b)) # 生成a , b # 范围内的整数 length = eval(input()) random.seed(17) for i in range(3): print(genpwd(length))**
** 描述:补充编程模板中代码,完成如下功能:
获得用户输入数字N,计算并输出从N开始的5个质数,单行输出,质数间用逗号,分割。
注意:用户输入的数字N可能是浮点数,都是正数;最后一个输出后不用逗号。
输入输出1213,17,19,23,29 def prime(m): end = int(pow(m, 0.5) + 1) for i in range(2, end): if m%i == 0: return False else: return True n = eval(input()) if n != int(n): # 因为可能输入有浮点数 n = int(n) + 1 else: n = int(n) count = 5 while count > 0: if prime(n): if count > 1: print(n, end=',') else: print(n) count -= 1 n += 1