华南理工大学 Python第5章课后小测-2
作者:互联网
1、(单选)下面语句的输出结果是:
A) hi []
B) hi [2]
C) hihi []
D) hihi [2]
您的答案:D 正确率:100%
2、(单选)以下哪个函数的定义是错误的?(本题分数:3)
A) def vfunc( ):
B) def vfunc(a=1,b):
C) def vfunc(a,b):
D) def vfunc(*a,b):
您的答案:D 正确率:100%
3、(单选)关于以下程序,说法正确的个数有()个。
(1)count是一个递归函数;(2)函数的基例是N <= 0;(3)函数的基例是N > 9;(4)调用count(6)时,count函数返回前被调用5次;(5)调用count(6)时,count函数返回前被调用4次;(本题分数:3)
A) 1个
B) 2个
C) 3个
D) 4个
【解析】1,3,4正确,2,5错误
您的答案:C 正确率:100%
4、(单选)以下程序运行时,将输出()。
A) "a"
B) "b"
C) "c"
D) 无法运行,程序出错
您的答案:B 正确率:100%
5、(单选)以下程序的输出结果是。
A) 'abc'
B) 100
C) [0, 1, 2]
D) 程序报错
您的答案:A 正确率:100%
6、(单选)定义以下函数f,函数调用出错的是。
A) f([1,2])
B) f('a')
C) f((1,2))
D) f({1,2})
您的答案:D 正确率:100%
7、(单选)递归函数有什么特点?(本题分数:3)
A) 包含一个循环结构
B) 函数比较复杂
C) 函数内部包含对本函数的再次调用
D) 函数名称作为返回值
您的答案:C 正确率:100%
8、(单选)以下关于递归函数基例的说法错误的是( )。(本题分数:3)
A) 递归函数必须有基例
B) 递归函数的基例不再进行递归
C) 每个递归函数都只能有一个基例
D) 递归函数的基例决定递归的深度
您的答案:C 正确率:100%
9、(单选)下面不属于递归特征的是。(本题分数:3)
A) 存在一个或多个基例
B) 基例不需要再次递归
C) 基例需要多次递归循环
D) 所有递归链要以一个或多个基例结尾
您的答案:C 正确率:100%
10、(单选)以下对递归描述错误的是。(本题分数:3)
A) 书写简单
B) 执行效率高
C) 一定要有基例
D) 递归程序都可以有非递归编写方法
您的答案:B 正确率:100%
11、(单选)对下列代码描述正确的是:
A) 代码的作用是实现字符串的连接
B) s[0]是基例
C) 代码中只有一个基例
D) 运行会出错
您的答案:D 正确率:100%
12、(单选)对下列代码描述错误的是:
A) 代码的作用是实现字符串的反转
B) 基例是空字符串
C) 基例是s[0]
D) s[1:]是除首字母外的剩余字符串
您的答案:C 正确率:100%
13、(单选)以下关于模块化设计描述错误的是:(本题分数:3)
A) 应尽可能合理划分功能块,功能块内部耦合度高
B) 应尽可能合理划分功能块,功能块内部耦合度低
C) 模块间关系尽可能简单,模块之间耦合度低
D) 高耦合度的特点使复用较为困难
您的答案:B 正确率:100%
14、(单选)下面关于函数的说法,正确的是。(本题分数:3)
A) 函数可以不定义,就可以直接使用
B) 函数是程序的抽象,通过封装实现代码复用,可以利用函数对程序进行模块化设计
C) 函数定义的位置没有要求,可以先调用,最后对函数定义
D) 函数不可以对自己调用,只能调用别的函数
您的答案:B 正确率:100%
15、(单选)下列哪项不适合使用递归实现?(本题分数:3)
A) n!=n(n-1)(n-2)...(1)
B) sum(n)=1+2+3+4+5....+n
C) pi(n)=3.1415926........(保留n位小数)
D) 绘制科赫曲线
您的答案:C 正确率:100%
16、(单选)关于以下程序,说法正确的个数有()个。
(1)rsum是一个递归函数;(2)函数的基例是cnum ==6;(3)调用rsum()时,rsum函数返回前被调用5次;(4)调用rsum()时,函数返回值是21;(本题分数:3)
A) 1
B) 2
C) 3
D) 4
【解析】(1)(2)(3)正确,(4)错误,返回值是15
您的答案:C 正确率:100%
17、(单选)给定函数定义def vfunc(a,*b),以下函数调用错误的是()。(本题分数:3)
A) vfunc( )
B) vfunc(1)
C) vfunc(1,2)
D) vfunc(1,2,3,4)
您的答案:A 正确率:100%
18、(单选)给定函数定义
函数调用时,参数不可以是()。(本题分数:3)
A) 列表类型
B) 集合类型
C) 元组类型
D) 字符串类型
您的答案:B 正确率:100%
19、(单选)
给定以上程序,说法正确的是()。(本题分数:3)
A) 调用add()以后,c的值为1
B) 调用add()以后,c的值为100
C) 调用add()以后,c的值为101
D) 函数add()的返回值是2
您的答案:A 正确率:100%
20、(单选)下面语句的输出结果是:
A) 1 0
B) 1 2
C) 3 0
D) 3 2
您的答案:C 正确率:100%
21、(写运行结果)下列程序的运行结果是?
【参考答案】
22、(写运行结果)写出下列程序的执行结果
【参考答案】
23、(程序填空)下列代码计算0~99的累加和,并输出。请完善程序缺失的部分
【参考答案】
24、(程序填空)下面代码统计1~100以内的能被3整除的数的个数。请在(1),(2)填上合适的语句。
【参考答案】
25、(程序填空)使用循环输出等腰三角形。请在(1)、(2)填入合适的内容。例如给定5,输出如下结果:
*
***
*****
*******
*********
【参考答案】
26、(程序填空)以下程序判断一个数是否是素数,请在 (1)、(2)、(3)填写合适的内容。
【参考答案】
27、(程序填空)下列代码完成这样一个功能:输入一个正整数,输出它的因子分解式。如输入132,则输出132=1*2*2*3*11. 请在(1)、(2)、(3)处填上合适内容补全程序
【参考答案】
28、(程序填空)下列代码输出m个1-10范围内的随机浮点数,计算并显示其平均值。请在(1)、(2)、(3)处填上合适内容补全程序
【参考答案】
29、(程序填空)输入整数n,计算12+22+...+n2的值。请在下列(1),(2)填上合适的内容。
【参考答案】
30、(程序填空)以下程序以递归方式计算斐波那契数列的值。程序获取用户输入的正整数N,如果将斐波那契数列表示为fib(N),斐波那契数列值的计算如下: fib(1)和fib(2)的值是1,当N>2时,fib(N) = fib(N-1) + fib(N-2)。
【参考答案】
31、(程序填空)以下程序实现字符串的反转,即对于用户输入的字符串s,输出反转后的字符串。例如:s=”ABC”,程序输出”CBA”。请在(1),(2)处填上合适的语句。
【参考答案】
32、(程序填空)下面代码实现比较两数大小并且输出较大的那个,请完成填空
【参考答案】
33、(程序填空)下面递归函数mul计算输出1到n的连乘结果,请完善空格。
【参考答案】
ls = []
def func(a, b):
ls.append(b)
return a*b
s = func("hi", 2)
print(s, ls)
(本题分数:3)A) hi []
B) hi [2]
C) hihi []
D) hihi [2]
您的答案:D 正确率:100%
2、(单选)以下哪个函数的定义是错误的?(本题分数:3)
A) def vfunc( ):
B) def vfunc(a=1,b):
C) def vfunc(a,b):
D) def vfunc(*a,b):
您的答案:D 正确率:100%
3、(单选)关于以下程序,说法正确的个数有()个。
def count (N):
if (N <= 0):
return "请输入一个正整数"
if (N > 9):
return "计数结束"
else:
return count(N+1)
print(count(6))
(1)count是一个递归函数;(2)函数的基例是N <= 0;(3)函数的基例是N > 9;(4)调用count(6)时,count函数返回前被调用5次;(5)调用count(6)时,count函数返回前被调用4次;(本题分数:3)
A) 1个
B) 2个
C) 3个
D) 4个
【解析】1,3,4正确,2,5错误
您的答案:C 正确率:100%
4、(单选)以下程序运行时,将输出()。
def my_function(s,*ks):
print(ks[0])
my_function("a", "b", "c")
(本题分数:3)A) "a"
B) "b"
C) "c"
D) 无法运行,程序出错
您的答案:B 正确率:100%
5、(单选)以下程序的输出结果是。
def test():
return 'abc', 100, [0, 1, 2]
a, b, c = test()
print(a)
(本题分数:3)A) 'abc'
B) 100
C) [0, 1, 2]
D) 程序报错
您的答案:A 正确率:100%
6、(单选)定义以下函数f,函数调用出错的是。
def f(s):
return s+s
(本题分数:3)A) f([1,2])
B) f('a')
C) f((1,2))
D) f({1,2})
您的答案:D 正确率:100%
7、(单选)递归函数有什么特点?(本题分数:3)
A) 包含一个循环结构
B) 函数比较复杂
C) 函数内部包含对本函数的再次调用
D) 函数名称作为返回值
您的答案:C 正确率:100%
8、(单选)以下关于递归函数基例的说法错误的是( )。(本题分数:3)
A) 递归函数必须有基例
B) 递归函数的基例不再进行递归
C) 每个递归函数都只能有一个基例
D) 递归函数的基例决定递归的深度
您的答案:C 正确率:100%
9、(单选)下面不属于递归特征的是。(本题分数:3)
A) 存在一个或多个基例
B) 基例不需要再次递归
C) 基例需要多次递归循环
D) 所有递归链要以一个或多个基例结尾
您的答案:C 正确率:100%
10、(单选)以下对递归描述错误的是。(本题分数:3)
A) 书写简单
B) 执行效率高
C) 一定要有基例
D) 递归程序都可以有非递归编写方法
您的答案:B 正确率:100%
11、(单选)对下列代码描述正确的是:
def reverse (s):
return reverse (s[1:])+s[0]
(本题分数:3)A) 代码的作用是实现字符串的连接
B) s[0]是基例
C) 代码中只有一个基例
D) 运行会出错
您的答案:D 正确率:100%
12、(单选)对下列代码描述错误的是:
def reverse (s):
if s=="":
return s
else:
return reverse (s[1:])+s[0]
(本题分数:3)A) 代码的作用是实现字符串的反转
B) 基例是空字符串
C) 基例是s[0]
D) s[1:]是除首字母外的剩余字符串
您的答案:C 正确率:100%
13、(单选)以下关于模块化设计描述错误的是:(本题分数:3)
A) 应尽可能合理划分功能块,功能块内部耦合度高
B) 应尽可能合理划分功能块,功能块内部耦合度低
C) 模块间关系尽可能简单,模块之间耦合度低
D) 高耦合度的特点使复用较为困难
您的答案:B 正确率:100%
14、(单选)下面关于函数的说法,正确的是。(本题分数:3)
A) 函数可以不定义,就可以直接使用
B) 函数是程序的抽象,通过封装实现代码复用,可以利用函数对程序进行模块化设计
C) 函数定义的位置没有要求,可以先调用,最后对函数定义
D) 函数不可以对自己调用,只能调用别的函数
您的答案:B 正确率:100%
15、(单选)下列哪项不适合使用递归实现?(本题分数:3)
A) n!=n(n-1)(n-2)...(1)
B) sum(n)=1+2+3+4+5....+n
C) pi(n)=3.1415926........(保留n位小数)
D) 绘制科赫曲线
您的答案:C 正确率:100%
16、(单选)关于以下程序,说法正确的个数有()个。
cnum= 1
acc= 0
def rsum():
global cnum
global acc
if cnum== 6:
return acc
else:
acc = acc + cnum
cnum = cnum + 1
return rsum()
(1)rsum是一个递归函数;(2)函数的基例是cnum ==6;(3)调用rsum()时,rsum函数返回前被调用5次;(4)调用rsum()时,函数返回值是21;(本题分数:3)
A) 1
B) 2
C) 3
D) 4
【解析】(1)(2)(3)正确,(4)错误,返回值是15
您的答案:C 正确率:100%
17、(单选)给定函数定义def vfunc(a,*b),以下函数调用错误的是()。(本题分数:3)
A) vfunc( )
B) vfunc(1)
C) vfunc(1,2)
D) vfunc(1,2,3,4)
您的答案:A 正确率:100%
18、(单选)给定函数定义
def f(s):
return s+s
函数调用时,参数不可以是()。(本题分数:3)
A) 列表类型
B) 集合类型
C) 元组类型
D) 字符串类型
您的答案:B 正确率:100%
19、(单选)
c=1
def add():
c=100
return c+1
给定以上程序,说法正确的是()。(本题分数:3)
A) 调用add()以后,c的值为1
B) 调用add()以后,c的值为100
C) 调用add()以后,c的值为101
D) 函数add()的返回值是2
您的答案:A 正确率:100%
20、(单选)下面语句的输出结果是:
n = 0
def func(a,b):
n = b
return a+n
s = func(1, 2)
print(s, n)
(本题分数:3)A) 1 0
B) 1 2
C) 3 0
D) 3 2
您的答案:C 正确率:100%
21、(写运行结果)下列程序的运行结果是?
x = 54321
y = 0
fac = 10000
while x:
y += fac*(x%10)
x = x//10
print(y)
print(x+y)
(本题分数:3)【参考答案】
22、(写运行结果)写出下列程序的执行结果
a,b,c=-2,4,6
s,w,t=1,3,5
if c>0:
s=a+b
if a<=0:
if c<=0:
w=a-b
else:
if c>0:
w=a-b
else:
t=c
c=a+b
print("a={},b={},c={}".format(a,b,c))
print("s={},w={},t={}".format(s,w,t))
(本题分数:3)【参考答案】
23、(程序填空)下列代码计算0~99的累加和,并输出。请完善程序缺失的部分
sum = 0
for i in range(__(1)__):
sum = __(2)__
print(sum)
(本题分数:3)【参考答案】
24、(程序填空)下面代码统计1~100以内的能被3整除的数的个数。请在(1),(2)填上合适的语句。
sum = 0
i = 100
while i>0:
if __(1)__:
sum = sum + 1
__(2)__
print(sum)
(本题分数:3)【参考答案】
25、(程序填空)使用循环输出等腰三角形。请在(1)、(2)填入合适的内容。例如给定5,输出如下结果:
*
***
*****
*******
*********
len = eval(input("输入要打印的行数:"))
for i in __(1)__(len):
for j in range(0, len - i):
print(end=" ")
for t in range(2 * i + 1):
print("*", end="")
__(2)__
(本题分数:3)【参考答案】
26、(程序填空)以下程序判断一个数是否是素数,请在 (1)、(2)、(3)填写合适的内容。
m=eval(input("请输入一个整数:"))
t=0
for i in range(2,__(1)__):
if m%i==0:
t=1
__(2)__ #退出循环
if t==__(3)__:
print(m,"是素数")
else:
print(m,"不是素数")
(本题分数:3)【参考答案】
27、(程序填空)下列代码完成这样一个功能:输入一个正整数,输出它的因子分解式。如输入132,则输出132=1*2*2*3*11. 请在(1)、(2)、(3)处填上合适内容补全程序
n=eval(input("请输入一个正整数:"))
s=str(n)+"=1" #保存结果,最后再输出
a=2
while n>=a:
if __(1)__:
s=s+"*"+ __(2)__
n=n//a
else:
__(3)__
print(s)
(本题分数:3)【参考答案】
28、(程序填空)下列代码输出m个1-10范围内的随机浮点数,计算并显示其平均值。请在(1)、(2)、(3)处填上合适内容补全程序
import random
__(1)__.seed(100)
m=eval(input())
s=0
for j in range(m):
f=random.uniform(__(2)__)
s+=f
print(f)
print('平均值是:',__(3)__)
(本题分数:3)【参考答案】
29、(程序填空)输入整数n,计算12+22+...+n2的值。请在下列(1),(2)填上合适的内容。
def __(1)__:
sum = 0
for i in range(n):
sum = sum + __(2)__
return sum
n = int(input("请输入数字:"))
r = f(n)
print("1~{}的平方和是{}".format(n, r))
(本题分数:3)【参考答案】
30、(程序填空)以下程序以递归方式计算斐波那契数列的值。程序获取用户输入的正整数N,如果将斐波那契数列表示为fib(N),斐波那契数列值的计算如下: fib(1)和fib(2)的值是1,当N>2时,fib(N) = fib(N-1) + fib(N-2)。
def fib(n):
if __(1)__:
return 1
else:
return __(2)__ + __(3)__
n = eval(input(“输入正整数N”))
print(fib(n))
(本题分数:3)【参考答案】
31、(程序填空)以下程序实现字符串的反转,即对于用户输入的字符串s,输出反转后的字符串。例如:s=”ABC”,程序输出”CBA”。请在(1),(2)处填上合适的语句。
def reverse(s):
if __(1)__:
return s
else:
return __(2)__+ s[0]
str = input("请输入一个字符串: ")
print(reverse(str))
(本题分数:3)【参考答案】
32、(程序填空)下面代码实现比较两数大小并且输出较大的那个,请完成填空
def myMax(a,b):
if __(1)__:
return a
else:
__(2)__
a = eval(input())
b = eval(input())
print(myMax(a,b))
(本题分数:3)【参考答案】
33、(程序填空)下面递归函数mul计算输出1到n的连乘结果,请完善空格。
def mul(n):
if n==1:
__(1)__
else:
__(2)__
n = int(input())
print(mul(n))
(本题分数:4)【参考答案】
标签:__,分数,Python,华南理工大学,正确率,单选,课后,print,本题 来源: https://www.cnblogs.com/alphainf/p/16270496.html