测验5: 函数和代码复用 (第5周)
点击选项选择正确答案,每题有且仅有一个正确答案
函数不能直接提高代码执行速度。
下列程序的输出结果为:
d4z5e0.0pnfthsubgfuk flw5qy(0.lwukhxtqtga,hwxb)sq:rj
a=5kit74db
reke44vtt9u6trmgkysnzwd a+cb
dn1tmesb74f6j6n mdaa7pietn3mgd8(mxn)fcdg:pf
a=d51l
b=2zl36s9i7j
pbrjiuiwn0.1cli7x589bft2(b805f(hgmoa,d8nb)0.wytja67yj0l,qszvwa+0.5ge1edv945xb)8cx
main(3i)4sq
这里没有全局变量,都是函数局部变量的运算。
以下关于Python函数说法错误的是:
def func(a,b): c=a**2+b b=a return c a=10 b=100 c=func(a,b)+a
a, b为全局变量,请在IDLE中执行代码观察结果。
函数调用前必须已经存在函数定义,否则无法执行。
Python内置函数直接使用,不需要引用任何模块。
模块内高耦合、模块间低耦合。
递归不提高程序执行效率。
任何递归程序都可以通过堆栈或队列变成非递归程序(这是程序的高级应用)。
调用函数不需要知道函数内部实现原理,只需要知道调用方法(即接口)即可。
def vfunc(*a, b) 是错误的定义:*a表示可变参数,可变参数只能放在函数参数的最后。
函数可以包含0个或多个return语句
每个递归函数至少存在一个基例,但可能存在多个基例。
随机密码生成
描述
补充编程模板中代码,完成如下功能:
以整数17为随机数种子,获取用户输入整数N为长度,产生3个长度为N位的密码,密码的每位是一个数字。每个密码单独一行输出。
产生密码采用random.randint()函数。
输入输出示例
| 输入 | 输出 | |
| 示例 1 |
|
|
#请在...补充代码 import random def genpwd(length): return random.randint(10**(length-1),10**length) length = eval(input()) random.seed(17) for i in range(3): print(genpwd(length)) #Python中的numpy库中的random.randint(a, b, n)表示随机生成n个大于等于a,小于b的整数,以代码为例:
连续质数计算
描述
补充编程模板中代码,完成如下功能:
获得用户输入数字N,计算并输出从N开始的5个质数,单行输出,质数间用逗号,分割。
注意:需要考虑用户输入的数字N可能是浮点数,应对输入取整数;最后一个输出后不用逗号。
输入输出示例
| 输入 | 输出 | |
| 示例 1 |
|
|
# 请在...补充一行或多行代码 def prime(m): for i in range(2,m): if m%i==0: return 0 return m n = eval(input()) n=int(n) if int(n)==n else int(n)+1 count=0 s='' while count<5: if prime(n): count+=1 s+=str(n)+',' n=n+1 print(s[:-1])
浙公网安备 33010602011771号