华南理工大学 Python第5章课后小测 您所在的位置:网站首页 python模块化设计耦合度 华南理工大学 Python第5章课后小测

华南理工大学 Python第5章课后小测

2023-12-20 09:42| 来源: 网络整理| 查看: 265

1、(单选)下面语句的输出结果是: 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 9): return "计数结束" else: return count(N+1) print(count(6)) (1)count是一个递归函数;(2)函数的基例是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) 100C) [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....+nC) 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) 1B) 2C) 3D) 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的值为1B) 调用add()以后,c的值为100C) 调用add()以后,c的值为101D) 函数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 0B) 1 2C) 3 0D) 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 a0: 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)

【参考答案】



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有