1、(单选)下面语句的输出结果是:

  1. ls = []
  2. def func(a, b):
  3. ls.append(b)
  4. return a*b
  5. s = func("hi", 2)
  6. 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、(单选)关于以下程序,说法正确的个数有()个。

  1. def count (N):
  2. if (N <= 0):
  3. return "请输入一个正整数"
  4. if (N > 9):
  5. return "计数结束"
  6. else:
  7. return count(N+1)
  8. 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、(单选)以下程序运行时,将输出()。

  1. def my_function(s,*ks):
  2. print(ks[0])
  3. my_function("a", "b", "c")

(本题分数:3)
A) "a"
B) "b"
C) "c"
D) 无法运行,程序出错
您的答案:B  正确率:100%

5、(单选)以下程序的输出结果是。

  1. def test():
  2. return 'abc', 100, [0, 1, 2]
  3. a, b, c = test()
  4. print(a)

(本题分数:3)
A) 'abc'
B) 100
C) [0, 1, 2]
D) 程序报错
您的答案:A  正确率:100%

6、(单选)定义以下函数f,函数调用出错的是。

  1. def f(s):
  2. 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、(单选)对下列代码描述正确的是:

  1. def reverse (s):
  2. return reverse (s[1:])+s[0]

(本题分数:3)
A) 代码的作用是实现字符串的连接
B) s[0]是基例
C) 代码中只有一个基例
D) 运行会出错
您的答案:D  正确率:100%

12、(单选)对下列代码描述错误的是:

  1. def reverse (s):
  2. if s=="":
  3. return s
  4. else:
  5. 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、(单选)关于以下程序,说法正确的个数有()个。

  1. cnum= 1
  2. acc= 0
  3. def rsum():
  4. global cnum
  5. global acc
  6. if cnum== 6:
  7. return acc
  8. else:
  9. acc = acc + cnum
  10. cnum = cnum + 1
  11. 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、(单选)给定函数定义

  1. def f(s):
  2. return s+s

函数调用时,参数不可以是()。(本题分数:3)
A) 列表类型
B) 集合类型
C) 元组类型
D) 字符串类型
您的答案:B  正确率:100%

19、(单选)

  1. c=1
  2. def add():
  3. c=100
  4. return c+1

给定以上程序,说法正确的是()。(本题分数:3)
A) 调用add()以后,c的值为1
B) 调用add()以后,c的值为100
C) 调用add()以后,c的值为101
D) 函数add()的返回值是2
您的答案:A  正确率:100%

20、(单选)下面语句的输出结果是:

  1. n = 0
  2. def func(a,b):
  3. n = b
  4. return a+n
  5. s = func(1, 2)
  6. print(s, n)

(本题分数:3)
A) 1 0
B) 1 2
C) 3 0
D) 3 2
您的答案:C  正确率:100%

21、(写运行结果)下列程序的运行结果是?

  1. x = 54321
  2. y = 0
  3. fac = 10000
  4. while x:
  5. y += fac*(x%10)
  6. x = x//10
  7. print(y)
  8. print(x+y)

(本题分数:3)

【参考答案】
150000
150000
评分标准:2行,1行50分。少一行多一行每行扣50分;


22、(写运行结果)写出下列程序的执行结果

  1. a,b,c=-2,4,6
  2. s,w,t=1,3,5
  3. if c>0:
  4. s=a+b
  5. if a<=0:
  6. if c<=0:
  7. w=a-b
  8. else:
  9. if c>0:
  10. w=a-b
  11. else:
  12. t=c
  13. c=a+b
  14. print("a={},b={},c={}".format(a,b,c))
  15. print("s={},w={},t={}".format(s,w,t))

(本题分数:3)

【参考答案】
a=-2,b=4,c=2
s=2,w=3,t=5


23、(程序填空)下列代码计算0~99的累加和,并输出。请完善程序缺失的部分

  1. sum = 0
  2. for i in range(__(1)__):
  3. sum = __(2)__
  4. print(sum)

(本题分数:3)

【参考答案】
(1) 100
(2) sum+i
评分标准:2个空,一个空50分。


24、(程序填空)下面代码统计1~100以内的能被3整除的数的个数。请在(1),(2)填上合适的语句。

  1. sum = 0
  2. i = 100
  3. while i>0:
  4. if __(1)__:
  5. sum = sum + 1
  6. __(2)__
  7. print(sum)

(本题分数:3)

【参考答案】
(1) i%3==0
(2) i = i - 1
评分标准:2个空,一个空50分,表达式不同于参考答案,但是能正确计算出结果,也给满分


25、(程序填空)使用循环输出等腰三角形。请在(1)、(2)填入合适的内容。例如给定5,输出如下结果:
     *
    ***
   *****
  *******
 *********

  1. len = eval(input("输入要打印的行数:"))
  2. for i in __(1)__(len):
  3. for j in range(0, len - i):
  4. print(end=" ")
  5. for t in range(2 * i + 1):
  6. print("*", end="")
  7. __(2)__

(本题分数:3)

【参考答案】
(1)range
(2)print()
评分标准:共2空,每空50分。写错字母不给分,print()语句少了()给30分。


26、(程序填空)以下程序判断一个数是否是素数,请在 (1)、(2)、(3)填写合适的内容。

  1. m=eval(input("请输入一个整数:"))
  2. t=0
  3. for i in range(2,__(1)__):
  4. if m%i==0:
  5. t=1
  6. __(2)__ #退出循环
  7. if t==__(3)__:
  8. print(m,"是素数")
  9. else:
  10. print(m,"不是素数")

(本题分数:3)

【参考答案】
(1)m
(2)break
(3)0
评分标准:共3个空。(1)、(3)空各30分,(2)空40分。填错不给分。

27、(程序填空)下列代码完成这样一个功能:输入一个正整数,输出它的因子分解式。如输入132,则输出132=1*2*2*3*11. 请在(1)、(2)、(3)处填上合适内容补全程序

  1. n=eval(input("请输入一个正整数:"))
  2. s=str(n)+"=1" #保存结果,最后再输出
  3. a=2
  4. while n>=a:
  5. if __(1)__:
  6. s=s+"*"+ __(2)__
  7. n=n//a
  8. else:
  9. __(3)__
  10. print(s)

(本题分数:3)

【参考答案】
(1)n%a==0
(2)str(a)
(3)a+=1或者a=a+1


28、(程序填空)下列代码输出m个1-10范围内的随机浮点数,计算并显示其平均值。请在(1)、(2)、(3)处填上合适内容补全程序

  1. import random
  2. __(1)__.seed(100)
  3. m=eval(input())
  4. s=0
  5. for j in range(m):
  6. f=random.uniform(__(2)__)
  7. s+=f
  8. print(f)
  9. print('平均值是:',__(3)__)

(本题分数:3)

【参考答案】
(1)random
(2)1,10
(3)s/m


29、(程序填空)输入整数n,计算12+22+...+n2的值。请在下列(1),(2)填上合适的内容。

  1. def __(1)__:
  2. sum = 0
  3. for i in range(n):
  4. sum = sum + __(2)__
  5. return sum
  6. n = int(input("请输入数字:"))
  7. r = f(n)
  8. print("1~{}的平方和是{}".format(n, r))

(本题分数:3)

【参考答案】
(1) f(n)
(2) (i+1)**2 或 (i+1)*(i+1)

30、(程序填空)以下程序以递归方式计算斐波那契数列的值。程序获取用户输入的正整数N,如果将斐波那契数列表示为fib(N),斐波那契数列值的计算如下: fib(1)和fib(2)的值是1,当N>2时,fib(N) = fib(N-1) + fib(N-2)。
‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬

  1. def fib(n):
  2. if __(1)__:
  3. return 1
  4. else:
  5. return __(2)__ + __(3)__
  6. n = eval(input(“输入正整数N”))
  7. print(fib(n))

(本题分数:3)

【参考答案】
(1)n == 1 or n == 2
(2)fib(n-1)
(3)fib(n-2)
评分标准:
1、错1空扣30分


31、(程序填空)以下程序实现字符串的反转,即对于用户输入的字符串s,输出反转后的字符串。例如:s=”ABC”,程序输出”CBA”。请在(1),(2)处填上合适的语句。

  1. def reverse(s):
  2. if __(1)__:
  3. return s
  4. else:
  5. return __(2)__+ s[0]
  6. str = input("请输入一个字符串: ")
  7. print(reverse(str))

(本题分数:3)

【参考答案】
(1) s == "" 或 len(s)<=1
(2) reverse(s[1:])
评分标准:
1、每空50分


32、(程序填空)下面代码实现比较两数大小并且输出较大的那个,请完成填空

  1. def myMax(a,b):
  2. if __(1)__:
  3. return a
  4. else:
  5. __(2)__
  6. a = eval(input())
  7. b = eval(input())
  8. print(myMax(a,b))

(本题分数:3)

【参考答案】
(1) a>b
(2) return b
评分标准:2个空,一个空50分。表达式不一样,但是完成同样的函数功能,不扣分


33、(程序填空)下面递归函数mul计算输出1到n的连乘结果,请完善空格。

  1. def mul(n):
  2. if n==1:
  3. __(1)__
  4. else:
  5. __(2)__
  6. n = int(input())
  7. print(mul(n))

(本题分数:4)

【参考答案】
(1) return 1
(2) return mul(n-1)*n
评分标准:2个空,一个空50分。表达式不同于参考答案,但是能正确计算出结果,也给满分

华南理工大学 Python第5章课后小测-2的更多相关文章

  1. 华南理工大学 Python第2章课后小测-2

    1.(单选)下列符号中,有()个是Python的关键字.(1)if    (2)lambda  (3)not   (4) For   (5)None(6)from  (7)True   (8)fina ...

  2. 华南理工大学 Python第2章课后小测-1

    1.(单选)"abc"的长度是3,"老师好"的长度是多少?(本题分数:4)A) 1B) 3C) 6D) 9您的答案:B  正确率:100%2.(单选)下面代码的 ...

  3. 华南理工大学 Python第7章课后小测-2

    1.(单选)以下选项中使Python脚本程序转变为可执行程序的第三方库的是(本题分数:3)A) NetworkxB) pyinstallC) RequestsD) PyPDF2您的答案:B  正确率: ...

  4. 华南理工大学 Python第7章课后小测-1

    1.(单选)以下程序对字典进行排序,按字典键值从小到大排序,空白处的代码是(  ): dt={'b':6, 'c':2, 'a':4} s=sorted(dt.items(),key=_____) p ...

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

    1.(单选)以下哪个函数的定义是错误的?(本题分数:2)A) def vfunc(a,b=2):B) def vfunc(a,b):C) def vfunc(a,*b):D) def vfunc(*a ...

  6. 华南理工大学 Python第4章课后小测-2

    1.(单选)下面程序的输出结果是: for c in "ComputerScience": if c=="S": continue print(c,end=&q ...

  7. 华南理工大学 Python第4章课后小测-1

    1.(单选)下面程序的输出结果是: for c in "ComputerScience": print(c,end="") if c=="S" ...

  8. 华南理工大学 Python第3章课后小测-2

    1.(单选)给出如下代码 s = 'Hello scut' print(s[4::-1]) 上述代码的输出结果是(本题分数:2)A) HelloB) olleHC) scutD) tucs您的答案:B ...

  9. 华南理工大学 Python第3章课后小测-1

    1.(单选)给出如下代码 s = 'Hello scut' print(s[::-1]) 上述代码的输出结果是(本题分数:4)A) HelloB) Hello scutC) olleH tucsD)  ...

  10. 华南理工大学 Python第1章课后小测

    1.(单选)计算机有两个基本特性:功能性和()性.(本题分数:5)A) 可存储B) 可计算C) 可通信D) 可编程您的答案:D  正确率:100%2.(单选)计算机硬件可以直接识别和执行的程序设计语言 ...

随机推荐

  1. Python爬取某短视频热点

    写在前面的一些话: 随着短视频的大火,不仅可以给人们带来娱乐,还有热点新闻时事以及各种知识,刷短视频也逐渐成为了日常生活的一部分.本文以一个简单的小例子,简述如何通过Pyhton依托Selenium来 ...

  2. 给你准备好了——50道Python面试题集锦(附答案)

    Python是目前编程领域最受欢迎的语言.在本文中,我将总结Python面试中最常见的50个问题.每道题都提供参考答案,希望能够帮助你在2019年求职面试中脱颖而出,找到一份高薪工作.这些面试题涉及P ...

  3. 【RocketMQ】消息的存储

    Broker对消息的处理 BrokerController初始化的过程中,调用registerProcessor方法注册了处理器,在注册处理器的代码中可以看到创建了处理消息发送的处理器对象SendMe ...

  4. Redis如何实现多可用区?

    在如今的业务场景下,高可用性要求越来越高,核心业务跨可用区已然成为标配.腾讯云数据库高级工程师刘家文结合腾讯云数据库的内核实战经验,给大家分享Redis是如何实现多可用区,内容包含Redis主从版.集 ...

  5. pyinstaller打包一些三方库后,报资源不存在

    在目录site-packages\PyInstaller\hooks下新建对应文件hook-对应三方库名字.py,如hook-ngender.py 编辑hook-ngender.py: from Py ...

  6. Windows 进程的创建和终止

    创建一个进程 总述 如图,创建一个进程主要分为两部分,用户态部分和内核部分. 既然我们想看看一个进程是怎么被创建的,那我们就用 WinDbg 来看看从用户态到内核态都调用了什么: 第一步:我们先看看 ...

  7. 【Unity基础知识】基础游戏单位GameObject中常用的属性和API

    一.GameObject中的成员变量 主要思想:得到该脚本依附的GameObject的相关信息 现有: Lesson4的代码: using System.Collections; using Syst ...

  8. mysql防SQL注入搜集

    SQL注入 例:脚本逻辑 $sql = "SELECT * FROM user WHERE userid = $_GET[userid] "; 案例1:SELECT * FROM ...

  9. 8月份的.NET Conf 活动 专注于 .NET MAUI

    .NET Conf:Focus on MAUI 是一个为期一天的免费直播活动,将于太平洋时间 8 月 9 日上午 9 点开始,来自社区和 Microsoft 团队的演讲者们将分享使用MAUI .了解. ...

  10. 一键到位「GitHub 热点速览 v.22.32」

    作者:HelloGitHub-小鱼干 上上周在 B 站观看了智能键盘--瀚文的制作过程,本周 GitHub 热榜上出现了它的软硬件开源项目 HelloWord-Keyboard,如果你的动手能力强不妨 ...