-
python函数的作用降低编程复杂度_Python:函数和代码复用
2020-12-03 21:25:311、关于递归函数的描述,以下选项中正确的是A.包含一个循环结构B.函数比较复杂C.函数内部包含对本函数的再次调用D.函数名称作为返回值答案:D答案解析:递归函数是指函数内部包含对本函数的再次调用。2、关于递归...1、关于递归函数的描述,以下选项中正确的是
A.包含一个循环结构
B.函数比较复杂
C.函数内部包含对本函数的再次调用
D.函数名称作为返回值
答案:D
答案解析:递归函数是指函数内部包含对本函数的再次调用。
2、关于递归函数基例的说明,以下选项中错误的是
A.递归函数必须有基例
B.递归函数的基例不再进行递归
C.每个递归函数都只能有一个基例
D.递归函数的基例决定递归的深度
答案:C
答案解析:每个递归函数至少存在一个基例
3、以下选项中,不属于函数的作用的是
A.提高代码执行速度
B.复用代码
C.增强代码可读性
D.降低编程复杂度
答案:C
答案解析:函数的作用是复用代码、增强代码可读性、降低编程复杂度,而并不能提高代码的执行速度。
4、假设函数中不包括global保留字,对于改变参数值的方法,以下选项中错误的是
A.参数是列表类型时,改变原参数的值
B.参数是整数类型时,不改变原参数的值
C.参数是组合类型(可变对象)时,改变原参数的值
D.参数的值是否改变与函数中对象的操作有关,与参数类型无关
答案:D
答案解析:python里有可变对象和不可变对象之分。只有传入的是不可变对象时,值才不发生改变,若是可变对象,值的传入需要注意。不可变对象:Number ,String ,Tuple,bool。可变对象: List , Set , Dictionary是可以改变内部的元素 。
5、在python中,关于函数的描述,以下选项中正确的是
A. 一个函数中只允许有一条return语句
B. Python中,def和return是函数必须使用的保留字
C. Python函数定义中没有对参数指定类型,这说明,参数在函数中可以当作任意类型使用
D. 函数eval()可以用于数值表达式求值,例如eval(‘2*3+1’)
答案:D
答案解析:函数可以不使用return语句或多条return语句,因此A,B不正确;Python函数定义中没有对参数指定类型,函数中应根据实参的类型使用,C不正确。
6、给出如下代码
以下选项中描述错误的是
A. 执行该函数后,变量c的值为200
B. 该函数名称为func
C.执行该函数后,变量b的值为100
D.执行该函数后,变量a的值为10
答案:A
答案解析:执行该函数后,变量c的值为210
7、在Python中,关于全局变量和局部变量,以下选项中描述不正确的是
A.一个程序中的变量包含两类:全局变量和局部变量
B.全局变量一般没有缩进
C.全局变量在程序执行的全过程有效
D.全局变量不能和局部变量重名
答案:D
答案解析:全局变量可以和局部变量重名,全局变量指的是在函数之外定义的变量,在程序执行全过程有效。全局变量在函数内部使用时,需要提前使用保留字global声明。局部变量指在函数内部定义的变量,仅在函数内部有效,当函数退出时,变量将不再存在。例如:
全局变量可以和局部变量重名,因此D错误
8、关于面向对象和面向过程编程描述,以下选项中正确的是
A. 面向对象编程比面向过程编程更为高级
B. 面向对象和面向过程是编程语言的分类依据
C.模块化设计就是面向对象的设计
D.所有面向对象编程能实现的功能采用面向过程同样能完成
答案:D
答案解析:面向对象编程能实现的功能均可以采用面向过程同样能完成
9、以下选项中,对于递归程序的描述错误的是
A. 书写简单
B. 执行效率高
C.一定要有基例
D.递归程序都可以有非递归编写方法
答案:B
答案解析:递归程序的执行效率比较低
10、下面代码的输出结果是
A. 10
B. 20
C.10,10
D.100
答案:B
答案解析:lambda表达式相当于:
11、关于形参和实参的描述,以下选项中正确的是
A.函数定义中参数列表里面的参数是实际参数,简称实参
B.参数列表中给出要传入函数内部的参数,这类参数称为形式参数,简称形参
C.程序在调用时,将实参复制给函数的形参
D.程序在调用时,将形参复制给函数的实参
答案:C
答案解析:函数定义中参数列表里面的参数是形参,参数列表中给出要传入函数内部的参数,这类参数称为实参;程序在调用时,将实参复制给函数的形参
12、关于lambda函数,以下选项中描述错误的是
A. lambda函数也称为匿名函数
B. lambda函数将函数名作为函数结果返回
C.定义了一种特殊的函数
D.lambda不是Python的保留字
答案:D
答案解析:lambda是Python的保留字
13、以下选项中,对于函数的定义错误的是
A. def vfunc(a, b = 2):
B. def vfunc(a, b):
C. def vfunc(a, *b):
D. def vfunc(*a, b):
答案:D
答案解析:def vfunc(* a, b):中的*(可选参数)应该放在后面,因此D错误
14、关于函数的参数,以下选项中描述错误的是
A. 在定义函数时,如果有些参数存在默认值,可以在定义函数时直接为这些参数指定默认值
B. 在定义函数时,可以设计可变数量参数,通过在参数前增加星号(*)实现
C. 可选参数可以定义在非可选参数的前面
D. 一个元组可以传递给带有星号的可变参数
答案:D
答案解析:可选参数不可以定义在非可选参数的前面
15、关于return语句,以下选项中描述正确的是
A.函数中最多只有一个return语句
B.函数必须有一个return语句
C.return只能返回一个值
D.函数可以没有return语句
答案:D
答案解析:函数return的个数没有限制,可以没有return语句
16、关于函数,以下选项中描述错误的是
A.函数是一段具有特定功能的、可重用的语句组
B.函数能完成特定的功能,对函数的使用不需要了解函数内部实现原理,只要了解函数的输入输出方式即可
C.使用函数的主要目的是降低编程难度和代码重用
D.Python使用del保留字定义一个函数
答案:D
答案解析:Python使用def保留字定义一个函数
17、关于Python的全局变量和局部变量,以下选项中描述错误的是
A.全局变量指在函数之外定义的变量,一般没有缩进,在程序执行全过程有效
B.局部变量指在函数内部使用的变量,当函数退出时,变量依然存在,下次函数调用可以继续使用
C.使用global保留字声明简单数据类型变量后,该变量作为全局变量使用
D.简单数据类型变量无论是否与全局变量重名,仅在函数内部创建和使用,函数退出后变量被释放
答案:D
答案解析:局部变量指在函数内部定义的变量,仅在函数内部有效,当函数退出时,变量将不再存在。
18、关于Python中的lambda函数,以下选项中描述错误的是
A.lambda用于定义简单的、能够一行内表示的函数
B.可以使用lambda函数定义列表的排序原则
C.f = lambda x,y:x+y执行后,f的类型为数字类型
D.lambda函数将函数名作为函数结果返回
答案:D
答案解析:C选项中,f的类型依参数来确定
19、下面代码实现的功能描述为
A. 接受用户输入的整数N,输出N的阶乘值
B. 接受用户输入的整数N,判断N是否是素数并输出结论
C. 接受用户输入的整数N,判断N是否是整数并输出结论
D. 接受用户输入的整数N,判断N是否是水仙花数
答案:D
答案解析:这是典型的递归函数,在return语句中调用函数本身。功能为输出N的阶乘值
20、给出如下代码
以下选项中描述错误的是
A.代码中n是可选参数
B.fact(n)函数功能为求n的阶乘
C.s是局部变量
D.range()函数是Python内置函数
答案:A
答案解析:代码中n不是可选参数,可选参数有*或**
21、给出如下代码
以下选项中描述错误的是
A.ls.append(a)代码中的ls是全局变量
B.执行代码输出结果为[‘car’,’truck’]
C.ls.append(a)代码中的ls是列表类型变量
D.funC(a)中a为非可选参数
答案:B
答案解析:执行代码输出结果为[‘car’,’truck’,‘bus’]
22、给出如下代码
以下选项中描述错误的是
A.代码函数定义中,ls.append(a)中的ls是局部变量
B.执行代码输出的结果为[‘car’, ‘truck’]
C.ls.append(a)代码中的ls是列表类型
D.执行代码输出结果为[‘car’, ‘truck’, ’bus’]
答案:D
答案解析:funC函数内部的ls是局部变量,与全局变量不同,在函数调用结束后,局部变量就会消失。最终打印输出的ls是全局变量。
23、给出如下代码
以下选项中描述错误的是
A.运行代码,在Python Turtle Graphic中,绘制一个正方形
B.代码def drawLine(draw)中的draw可取值True或者False
C.代码drawLine(True)中True替换为-1,运行代码结果不变
D.代码drawLine(True)中True替换为0,运行代码结果不变
答案:D
答案解析:if else简写形式例:
可简写为:
参数如果需要布尔值,而输入的是数值,那么只需要该数值为非0的数,对应为True,如果输入的数值为0,则代表False,因此D不正确
24、给出如下代码
以下选项中描述错误的是
A.运行代码,在Python Turtle Graphic中,绘制一个数码管数字2
B.代码drawLine(True)中True替换为0,运行代码结果不变
C.代码drawLine(True)中True替换为-1,运行代码结果不变
D.代码def drawLine(draw)中的draw可取值0、1、-1等
答案:B
答案解析:参数如果需要布尔值,而输入的是数值,那么只需要该数值为非0的数,对应为True,如果输入的数值为0,则代表False。
25、下面代码的运行结果是
A.10
B.11
C.出错
http://D.int
答案:B
答案解析:函数在传递参数时,指将实参复制给形参,并未对实参本身发生改变。
26、下面代码的运行结果是
A.20
B.6
C.1
D.12
答案:C
答案解析:a>>b代表将a转为二进制,然后向右移动b个位,(<>表示向右)。a = 5,二进制为101;b =2,也就是将101向右移动2位,变为1。
27、下面代码的运行结果
A. 20 B. 10 C. 1 D. 12
答案:B
28、下面代码的运行结果是
A.[44,55]
B.[33,44,55]
C.[22,33,44]
D.[11,33,55]
答案:A
答案解析:filter()函数是 Python 内置的另一个有用的高阶函数,filter()函数接收一个函数 f 和一个列表,在本题中这个函数 f2 的作用是对每个元素进行判断是否大于33,如果大于则返回 True否则 False,filter()根据判断结果自动过滤掉不符合条件的元素,也就是将返回为True的元素组成的新list,因此本题选择A。注意,res是对象类型。
转自:函数和代码复用 --Python-侵删
-
python函数使用时需要了解函数内部实现细节_二级单选-函数和代码复用
2020-12-14 11:12:07..1关于递归函数的描述,以下选项中正确的是A函数内部包含对本函数的再次调用B函数比较复杂C包含一个循环结构D函数名称作为返回值正确答案:A2关于递归函数基例的说明,以下选项中错误的是A递归函数必须有基例B每个....
.
1
关于递归函数的描述,以下选项中正确的是
A
函数内部包含对本函数的再次调用
B
函数比较复杂
C
包含一个循环结构
D
函数名称作为返回值
正确答案:
A
2
关于递归函数基例的说明,以下选项中错误的是
A
递归函数必须有基例
B
每个递归函数都只能有一个基例
C
递归函数的基例决定递归的深度
D
递归函数的基例不再进行递归
正确答案:
B
3
以下选项中,不属于函数的作用的是
A
复用代码
B
提高代码执行速度
C
降低编程复杂度
D
增强代码可读性
正确答案:
B
4
假设函数中不包括
global
保留字,对于改变参数值的方法,以下选项中错误的是
A
参数是整数类型时,不改变原参数的值
B
参数是组合类型(可变对象)时,改变原参数的值
C
参数是列表类型时,改变原参数的值
D
参数的值是否改变与函数中对变量的操作有关,与参数类型无关
正确答案:
D
5
在
Python
中,关于函数的描述,以下选项中正确的是
.
A Python
函数定义中没有对参数指定类型,这说明,参数在函数中可以当作任意类型使用
B
函数
eval()
可以用于数值表达式求值,例如
eval("2*3+1")
C
一个函数中只允许有一条
return
语句
D Python
中,
def
和
return
是函数必须使用的保留字
正确答案:
B
6
给出如下代码:
def func(a,b):
c=a**2+b
b=a
return c
a=10
b=100
c=func(a,b)+a
以下选项中描述错误的是
A
执行该函数后,变量
c
的值为
200
B
执行该函数后,变量
a
的值为
10
C
执行该函数后,变量
b
的值为
100
D
该函数名称为
func
-
面向对象的相关描述
2017-07-08 20:20:15以下关于面向对象的描述错误的是: 正确答案: C 面向对象的基本特性是封装,继承和多态 构造函数不可以是虚函数,析构函数可以是虚函数 子类重新定义父类虚函数的方法叫做重载 多态是...以下关于面向对象的描述错误的是:正确答案: C
面向对象的基本特性是封装,继承和多态
构造函数不可以是虚函数,析构函数可以是虚函数
子类重新定义父类虚函数的方法叫做重载
多态是为了接口重用,封装和继承是为了代码重用
解析:对于C++中经常出现的函数名称相同但是参数列表或者返回值不同的函数,主要存在三种情况:
1.函数重写(override)
函数重载主要实现了父类与子类之间的多态性,子类中定义与父类中名称和参数以及返回值都相同的虚函数。
1)重写的函数不能是static函数,必须是virtual函数,即函数在原始的基类中被声明为虚函数;
2)重写函数与基类函数分在两个类的声明和定义中,这也就导致二者的作用域不同;
3)重写函数的名称、参数列表以及返回值(即函数原型)都要与基类的函数相同;
4)重写函数的访问修饰符可以不同,尽管virtual函数是private的,在派生类中重写的函数可以是public或protect的
2.函数重载(overload)
指函数名称相同但是参数类型或者参数顺序不同的相同作用域中的函数,函数重载不能靠返回值来进行区分;
3.重定义(redefine)
指子类重新定义父类中的非虚函数(参数列表可以不同),这样父类中的对应函数将被隐藏。
二、重写(override)与重载(overload)的区别
1、函数重写是子类和父类之间的继承关系,是垂直关系;方法的重载是同一个类中方法之间的关系,是水平关系;
2、重写需要子类和父类中的两个函数的函数原型完全相同;重载要求两个函数参数列表不同;
3、在重写关系中,调用具体调用哪一个函数是根据(对象对应存储空间的实际类型)为准的,这涉及到动态绑定和静态绑定的问题,也就是虚函数的调用机制,而函数重载主要是靠形参列表的不同来区分具体调用哪个函数的。
-
钩子函数的使用,有例子
2010-09-14 22:35:20返回值:返回值是链中下一个钩子进程返回的值,当前钩子进程必须返回这个值,返回值的具体含义与挂接的钩子类型有关,详细信息请参看具体的钩子进程描述。 V 建立一个动态连接库(DLL) 当我们熟悉了以上的各个函数... -
函数和代码复用
2019-06-06 16:31:411、关于递归函数的描述,以下选项中正确的是 A.包含一个循环结构 B.函数比较复杂 C.函数内部包含对本函数的再次调用 D.函数名称作为返回值 答案:D 答案解析:递归函数是指函数内部包含对本函数的再次调用。 ...1、关于递归函数的描述,以下选项中正确的是
A.包含一个循环结构
B.函数比较复杂
C.函数内部包含对本函数的再次调用
D.函数名称作为返回值答案:D
答案解析:递归函数是指函数内部包含对本函数的再次调用。2、关于递归函数基例的说明,以下选项中错误的是
A.递归函数必须有基例
B.递归函数的基例不再进行递归
C.每个递归函数都只能有一个基例
D.递归函数的基例决定递归的深度答案:C
答案解析:每个递归函数至少存在一个基例3、以下选项中,不属于函数的作用的是
A.提高代码执行速度
B.复用代码
C.增强代码可读性
D.降低编程复杂度答案:C
答案解析:函数的作用是复用代码、增强代码可读性、降低编程复杂度,而并不能提高代码的执行速度。4、假设函数中不包括global保留字,对于改变参数值的方法,以下选项中错误的是
A.参数是列表类型时,改变原参数的值
B.参数是整数类型时,不改变原参数的值
C.参数是组合类型(可变对象)时,改变原参数的值
D.参数的值是否改变与函数中对象的操作有关,与参数类型无关答案:D
答案解析:python里有可变对象和不可变对象之分。只有传入的是不可变对象时,值才不发生改变,若是可变对象,值的传入需要注意。不可变对象:Number ,String ,Tuple,bool。可变对象: List , Set , Dictionary是可以改变内部的元素 。5、在python中,关于函数的描述,以下选项中正确的是
A. 一个函数中只允许有一条return语句
B. Python中,def和return是函数必须使用的保留字
C. Python函数定义中没有对参数指定类型,这说明,参数在函数中可以当作任意类型使用
D. 函数eval()可以用于数值表达式求值,例如eval(‘2*3+1’)答案:D
答案解析:函数可以不使用return语句或多条return语句,因此A,B不正确;Python函数定义中没有对参数指定类型,函数中应根据实参的类型使用,C不正确。6、给出如下代码
def func(a,b): c = a **2 + b b =a return c a =10 b =100 c = func(a,b)+a
以下选项中描述错误的是
A. 执行该函数后,变量c的值为200
B. 该函数名称为func
C.执行该函数后,变量b的值为100
D.执行该函数后,变量a的值为10答案:A
答案解析:执行该函数后,变量c的值为2107、在Python中,关于全局变量和局部变量,以下选项中描述不正确的是
A.一个程序中的变量包含两类:全局变量和局部变量
B.全局变量一般没有缩进
C.全局变量在程序执行的全过程有效
D.全局变量不能和局部变量重名答案:D
答案解析:全局变量可以和局部变量重名,全局变量指的是在函数之外定义的变量,在程序执行全过程有效。全局变量在函数内部使用时,需要提前使用保留字global声明。局部变量指在函数内部定义的变量,仅在函数内部有效,当函数退出时,变量将不再存在。例如:n =2 def multiply(x, y =10): n =x*y #局部变量n,和第一行代码n不同。 return n #返回的n也是局部变量n s =multiply(99,2) print(s) print(n)
全局变量可以和局部变量重名,因此D错误
8、关于面向对象和面向过程编程描述,以下选项中正确的是
A. 面向对象编程比面向过程编程更为高级
B. 面向对象和面向过程是编程语言的分类依据
C.模块化设计就是面向对象的设计
D.所有面向对象编程能实现的功能采用面向过程同样能完成答案:D
答案解析:面向对象编程能实现的功能均可以采用面向过程同样能完成9、以下选项中,对于递归程序的描述错误的是
A. 书写简单
B. 执行效率高
C.一定要有基例
D.递归程序都可以有非递归编写方法答案:B
答案解析:递归程序的执行效率比较低10、下面代码的输出结果是
f = lambda x,y:y+x f(10,10)
A. 10
B. 20
C.10,10
D.100答案:B
答案解析:lambda表达式相当于:def fun(x, y): return x + y print(fun(10, 10))
11、关于形参和实参的描述,以下选项中正确的是
A.函数定义中参数列表里面的参数是实际参数,简称实参
B.参数列表中给出要传入函数内部的参数,这类参数称为形式参数,简称形参
C.程序在调用时,将实参复制给函数的形参
D.程序在调用时,将形参复制给函数的实参答案:C
答案解析:函数定义中参数列表里面的参数是形参,参数列表中给出要传入函数内部的参数,这类参数称为实参;程序在调用时,将实参复制给函数的形参12、关于lambda函数,以下选项中描述错误的是
A. lambda函数也称为匿名函数
B. lambda函数将函数名作为函数结果返回
C.定义了一种特殊的函数
D.lambda不是Python的保留字答案:D
答案解析:lambda是Python的保留字13、以下选项中,对于函数的定义错误的是
A. def vfunc(a, b = 2):
B. def vfunc(a, b):
C. def vfunc(a, *b):
D. def vfunc(*a, b):答案:D
答案解析:def vfunc(* a, b):中的*(可选参数)应该放在后面,因此D错误14、关于函数的参数,以下选项中描述错误的是
A. 在定义函数时,如果有些参数存在默认值,可以在定义函数时直接为这些参数指定默认值
B. 在定义函数时,可以设计可变数量参数,通过在参数前增加星号(*)实现
C. 可选参数可以定义在非可选参数的前面
D. 一个元组可以传递给带有星号的可变参数答案:D
答案解析:可选参数不可以定义在非可选参数的前面15、关于return语句,以下选项中描述正确的是
A.函数中最多只有一个return语句
B.函数必须有一个return语句
C.return只能返回一个值
D.函数可以没有return语句答案:D
答案解析:函数return的个数没有限制,可以没有return语句16、关于函数,以下选项中描述错误的是
A.函数是一段具有特定功能的、可重用的语句组
B.函数能完成特定的功能,对函数的使用不需要了解函数内部实现原理,只要了解函数的输入输出方式即可
C.使用函数的主要目的是降低编程难度和代码重用
D.Python使用del保留字定义一个函数答案:D
答案解析:Python使用def保留字定义一个函数17、关于Python的全局变量和局部变量,以下选项中描述错误的是
A.全局变量指在函数之外定义的变量,一般没有缩进,在程序执行全过程有效
B.局部变量指在函数内部使用的变量,当函数退出时,变量依然存在,下次函数调用可以继续使用
C.使用global保留字声明简单数据类型变量后,该变量作为全局变量使用
D.简单数据类型变量无论是否与全局变量重名,仅在函数内部创建和使用,函数退出后变量被释放答案:D
答案解析:局部变量指在函数内部定义的变量,仅在函数内部有效,当函数退出时,变量将不再存在。18、关于Python中的lambda函数,以下选项中描述错误的是
A.lambda用于定义简单的、能够一行内表示的函数
B.可以使用lambda函数定义列表的排序原则
C.f = lambda x,y:x+y执行后,f的类型为数字类型
D.lambda函数将函数名作为函数结果返回答案:D
答案解析:C选项中,f的类型依参数来确定19、下面代码实现的功能描述为
def fact(n):
if n == 0:
return 1
else :
return n * fact(n-1)
num = eval(input(‘请输入一个整数:’))
print(fact(abs(int(num))))A. 接受用户输入的整数N,输出N的阶乘值
B. 接受用户输入的整数N,判断N是否是素数并输出结论
C. 接受用户输入的整数N,判断N是否是整数并输出结论
D. 接受用户输入的整数N,判断N是否是水仙花数
答案:D
答案解析:这是典型的递归函数,在return语句中调用函数本身。功能为输出N的阶乘值20、给出如下代码
def fact(n):
s = 1
for i in range(1,n+1):
s *= i
return s以下选项中描述错误的是
A.代码中n是可选参数
B.fact(n)函数功能为求n的阶乘
C.s是局部变量
D.range()函数是Python内置函数答案:A
答案解析:代码中n不是可选参数,可选参数有*或**21、给出如下代码
ls = [‘car’,‘truck’]
def funC(a):
ls.append(a)
return
funC(‘bus’)
print(ls)以下选项中描述错误的是
A.ls.append(a)代码中的ls是全局变量
B.执行代码输出结果为[‘car’,’truck’]
C.ls.append(a)代码中的ls是列表类型变量
D.funC(a)中a为非可选参数答案:B
答案解析:执行代码输出结果为[‘car’,’truck’,‘bus’]22、给出如下代码
ls = ['car','truck'] def funC(a): ls = [] ls.append(a) return funC('bus') print(ls)
以下选项中描述错误的是
A.代码函数定义中,ls.append(a)中的ls是局部变量
B.执行代码输出的结果为[‘car’, ‘truck’]
C.ls.append(a)代码中的ls是列表类型
D.执行代码输出结果为[‘car’, ‘truck’, ’bus’]答案:D
答案解析:funC函数内部的ls是局部变量,与全局变量不同,在函数调用结束后,局部变量就会消失。最终打印输出的ls是全局变量。23、给出如下代码
import turtle def drawLine(draw): turtle.pendown() if draw else turtle.penup() turtle.fd(50) turtle.right(90) drawLine(True) drawLine(True) drawLine(True) drawLine(True)
以下选项中描述错误的是
A.运行代码,在Python Turtle Graphic中,绘制一个正方形
B.代码def drawLine(draw)中的draw可取值True或者False
C.代码drawLine(True)中True替换为-1,运行代码结果不变
D.代码drawLine(True)中True替换为0,运行代码结果不变答案:D
答案解析:if else简写形式例:a, b, c = 1, 2, 3 if a > b: c = a else: c = b
可简写为:
a, b, c = 1, 2, 3 c = a if a > b else b
参数如果需要布尔值,而输入的是数值,那么只需要该数值为非0的数,对应为True,如果输入的数值为0,则代表False,因此D不正确
24、给出如下代码
import turtle def drawLine(draw): turtle.pendown() if draw else turtle.penup() turtle.fd(50) turtle.right(90) drawLine(True) drawLine(0) drawLine(True) drawLine(True) turtle.left(90) drawLine(0) drawLine(True) drawLine(True)
以下选项中描述错误的是
A.运行代码,在Python Turtle Graphic中,绘制一个数码管数字2
B.代码drawLine(True)中True替换为0,运行代码结果不变
C.代码drawLine(True)中True替换为-1,运行代码结果不变
D.代码def drawLine(draw)中的draw可取值0、1、-1等
答案:B
答案解析:参数如果需要布尔值,而输入的是数值,那么只需要该数值为非0的数,对应为True,如果输入的数值为0,则代表False。25、下面代码的运行结果是
def func(num): num += 1 a = 10 func(a) print(a)
A.10
B.11
C.出错
D.int答案:B
答案解析:函数在传递参数时,指将实参复制给形参,并未对实参本身发生改变。26、下面代码的运行结果是
def func(a, b): return a >> b s = func(5, 2) print(s)
A.20
B.6
C.1
D.12答案:C
答案解析:a>>b代表将a转为二进制,然后向右移动b个位,(<<表示向左,>>表示向右)。a = 5,二进制为101;b =2,也就是将101向右移动2位,变为1。27、下面代码的运行结果
def func(a, b): a *= b return a s = func(5, 2) print(s)
A. 20 B. 10 C. 1 D. 12
答案:B
28、下面代码的运行结果是
def f2(a): if a > 33: return True li = [11, 22, 33, 44, 55] res = filter(f2, li) print(list(res))
A.[44,55]
B.[33,44,55]
C.[22,33,44]
D.[11,33,55]答案:A
答案解析:filter()函数是 Python 内置的另一个有用的高阶函数,filter()函数接收一个函数 f 和一个列表,在本题中这个函数 f2 的作用是对每个元素进行判断是否大于33,如果大于则返回 True否则 False,filter()根据判断结果自动过滤掉不符合条件的元素,也就是将返回为True的元素组成的新list,因此本题选择A。注意,res是对象类型。29、下面代码的运行结果是
def fib(n): a,b = 1,1 for i in range(n-1): a,b = b,a+b return a print(fib(7))
A.5
B.8
C.13
D.21答案:C
答案解析:注意a,b = b,a+b并不等价于a=b b=a+b30、下面代码的运行结果是
def hello_world(): print('ST', end = '*') def three_hello(): for i in range(3): hello_world() three_hello()
A. STSTST*
B. STST
C.ST*
D. ***答案:A
答案解析:本题为函数与函数之间调用,three_hello调用了3次hello_world函数,因此输出为STSTST*31、下面代码的运行结果是
def exchange(a,b): a,b = b,a return(a,b) x=10 y=20 x,y=exchange(x,y) print(x,y)
A.20 10
B.20 10
C.10 10
D.20 20答案:A
答案解析:在本题中,x,y= exchange(x,y)调用了exchange函数,其中实参为10,20 ,因此相当于x,y= exchange(10,20),而exchange函数将两个参数互换位置并返回,因此相当于x,y=20,10;因此最终答案为A32、下面代码的运行结果是
MA = lambda x,y:(x>y)*x+(x<y)*y
MI = lambda x,y:(x>y)*y+(x<y)*x
a =10
b = 20
print(MA(a,b))
print(MI(a,b))
A.20,10
B.10,20
C.10,10
D.20,20答案:A
答案解析:本题考察lambda表达式33、关于下面的代码,以下选项中描述正确的是
list(range(0,10,2))
A.执行结果为0,2,4,6,8
B.按位置参数调用
C.按关键字参数调用
D.按可变参数调用答案:A
答案解析:range(0,10,2)产生一组数据为0,2,4,6,8,list是将数据转化为列表,而传入list的参数分别为0,2,4,6,8 ,即list(0,2,4,6,8),而传入list函数的参数实际也是按位置参数调用的,因此本题选择B34、关于下面的代码,以下选项中描述正确的是
def fact(n,m =1): s = 1 for i in range(1,n+1): s *= i return s//m print(fact(m =5,n =10))
A.参数按照名称传递
B.按位置参数调用
C.执行结果为10886400
D.按可变参数调用
答案:A
答案解析:fact(m =5,n =10),参数是按照名称传递的,因此选A。注意,m=5将覆盖m=135、关于函数的返回值,以下选项中描述错误的是
A.函数可以返回0个或多个结果
B.函数必须有返回值
C.函数可以有return,也可以没有
D.return可以传递0个返回值,也可以传递任意多个返回值答案:B
答案解析:函数返回值的个数可以任意,也可以没有返回值36、关于函数局部变量和全局变量的使用规则,以下选项中描述错误的是
A. 对于基本数据类型的变量,无论是否重名,局部变量与全局变量不同
B.可以通过global保留字在函数内部声明全局变量
C.对于组合数据类型的变量,如果局部变量未真实创建,则是全局变量
D.return不可以传递任意多个函数局部变量返回值答案:D
答案解析:return可以传递任意多个函数局部变量返回值37、关于函数,以下项选中描述错误的是
A. 函数使用时需要了解函数内部实现细节
B. 函数:具有特定功能的可重用代码片段,实现解决某个特定问题的算法
C.函数在需要时被调用,其代码被执行
D.函数主要通过接口(interface)与外界通信,传递信息答案:A
答案解析:函数使用时可以不需要了解函数内部实现细节,只需要了解其功能以及接口的使用38、关于函数的目的与意义,以下选项中描述错误的是
A. 程序功能抽象,以支持代码重用
B. 函数能调用未实现的函数
C. 使用时无须了解函数内部实现细节
D. 有助于采用分而治之的策略编写大型复杂程序答案:B
答案解析:函数不能调用未完成的函数39、关于函数,以下选项中描述错误的是
A. 函数也是数据
B. 函数定义语句可执行
C. 函数名称不可赋给其他变量
D. 一条函数定义一个用户自定义函数对象答案:C
答案解析:函数名称可以赋给其他变量40、关于函数的参数传递(parameter passing),以下选项中描述错误的是
A. 形式参数是函数定义时提供的参数
B. 实际参数是函数调用时提供的参数
C. Python参数传递时不构造新数据对象,而是让形式参数和实际参数共享同一对象
D. 函数调用时,需要将形式参数传递给实际参数答案:D
答案解析:函数调用时,需要将实参传递给形参41、关于函数的关键字参数使用限制,以下选项中描述错误的是
A. 关键字参数必须位于参数之前
B. 关键字参数必须位于位置参数之后
C. 不得重复提供实际参数
D. 关键字参数顺序无限制答案:A
答案解析:关键字参数必须位于位置参数之后42、下面代码的输出结果是
a = 4 a ^= 3 b = a^2 print(a,end =',') print(b)
A. 7,5
B. 64,4096
C. 5,7
D. 4,3答案:A
答案解析:python中^表示按位异或,在本题中a ^= 3也就是将a转换为二进制 并与3异或,4的二进制为100,3的二进制为011,因此异或后的结果为111,也就是数字7,b = a^2也就是111与2进行异或,2的二进制为010,因此111与010异或的结果为101,也就是数字5,所以结果为7,543、执行下面代码,运行错误的是
def f(x,y = 0,z = 0) pass
A. f(1,2,3)
B. f(1,2)
C. f(1,3)
D. f(1)答案:C
答案解析:C选项中,没有第二项参数,因此错误44、执行下面代码,运行错误的是
def f(x,y = 0,z = 0): pass
A. f(1, y =2, z = 3)
B. f(1, z =3)
C. f(z = 3, x = 1, y = 2)
D. f(1, x = 1, z = 3)答案:D
答案解析:D选项f(1, x = 1, z = 3)中位置参数错误45、执行下面代码,运行正确的是
def f(x,y = 0,z = 0): pass
A. f(1, x = 1, z = 3)
B. f(x=1,2)
C. f(x = 1, y = 2, z = 3)
D. f(1, y = 2, t = 3)答案:C
答案解析:A选项,位置参数错误;B选项,第一个使用关键字参数后面的也需要使用关键字参数;C选项正确;D选项f(1, y = 2, t = 3)中,并无t参数。46、关于嵌套函数,以下选项中描述错误的是
A. 嵌套函数是在函数内部定义函数
B. 内层函数仅供外层函数调用,外层函数之外不得调用
C.def f(): print('Outer function f') def g(): print('Inner function g') g() f()
D.
def f(): print('Outer function f') def g(): print('Inner function g') g() f.g()
答案:D
答案解析:D选项中,不能使用f.g()这种方式调用g()函数,函数内部定义的函数,在外部不可以调用47、下面代码的执行结果是
def area(r, pi = 3.14159): return pi*r*r print(area(pi = 3.14, r = 4))
A. 出错
B. 无输出
C. 39.4384
D. 50.24答案:D
答案解析:当实参是按参数名称传递参数,可以不按照位置顺序存放。因此area(pi = 3.14, r = 4)可能正确执行。最终输出为D48、下面代码的执行结果是
def area(r, pi=3.14159): return pi * r * r print(area(3.14, 4))
A. 出错
B. 无输出
C. 39.4384
D. 50.24答案:C
答案解析:按位置参数传递,结果为39.438449、下面代码的执行结果是
def greeting(args1, *tupleArgs, **dictArgs): print(args1) print(tupleArgs) print(dictArgs) names = ['HTY', 'LFF', 'ZH'] info = {'schoolName':'NJRU', 'City':'Nanjing'} greeting('Hello', *names, **info)
A. 出错
B. 无输出
C. [‘HTY’,‘LFF’,‘ZH’]
D. Hello
(‘HTY’,‘LFF’,‘ZH’)
{‘schoolName’:‘NJRU’,‘City’:‘Nanjing’}答案:D
答案解析:在函数中,如greeting(‘Hello’, names, ** info),可以传递任意数量实参和任意数量的关键字实参,但是前提是传递**的实参是字典形式,传递的实参是元组的形式。本题对应形参args1为’Hello’;tupleArgs为[‘HTY’, ‘LFF’, ‘ZH’];dictArgs为{‘schoolName’:‘NJRU’, ‘City’:‘Nanjing’}50、下面代码的执行结果是
def greeting(args1, *tupleArgs, **dictArgs): print(args1) print(tupleArgs) print(dictArgs) names = ['HTY', 'LFF', 'ZH'] info = {'schoolName': 'NJRU', 'City': 'Nanjing'} greeting(*names, 'Hello', **info)
A. 出错
B. 无输出
C. [‘HTY’,‘LFF’,‘ZH’]
D. HTY
(‘LFF’,‘ZH’,‘Hello’)
{‘schoolName’: ‘NJRU’, ‘City’: ‘Nanjing’}答案:D
-
二级单选-函数和代码复用.docx
2020-05-10 08:52:50关于递归函数的描述以下选项中正确的是 函数内部包含对本函数的再次调用 函数比较复杂 包含一个循环结构 函数名称作为返回值正确答案 A 2关于递归函数基例的说明以下选项中错误的是 递归函数必须有基例 每个递归... -
二级单选 函数和代码复用.doc
2020-08-31 12:16:301关于递归函数的描述以下选项中正确的是 A 函数内部包含对本函数的再次调用 B 函数比较复杂 C 包含一个循环结构 D 函数名称作为返回值 正确答案 A 2关于递归函数基例的说明以下选项中错误的是 A 递归函数必须有基例 ... -
python 递归函数_Python:函数和代码复用
2020-12-05 10:15:261、关于递归函数的描述,以下选项中正确的是A.包含一个循环结构B.函数比较复杂C.函数内部包含对本函数的再次调用D.函数名称作为返回值答案:D答案解析:递归函数是指函数内部包含对本函数的再次调用。2、关于递归... -
java面试题-Java8中提供的四个核心函数式接口
2020-01-21 08:55:5618.关于Java8中提供的四个核心函数式接口的描述,正确的一项是? A. Predicate接口中的方法不能够返回数据,只能够接收并操作数据 B. Consumer接口中的方法可以对数据进行判断,并且可以返回判断结果 C. Function... -
python函数定义中没有对参数指定类型、这说明_二级单选-函数和代码复用
2020-12-21 11:36:18.i..w.1关于递归函数的描述,以下选项中正确的是A函数部包含对本函数的再次调用B函数比较复杂C包含一个循环结构D函数名称作为返回值正确答案:A2关于递归函数基例的说明,以下选项中错误的是A递归函数必须有基例B每... -
python使用del保留字定义一个函数-函数和代码复用 --Python
2020-11-01 12:06:041、关于递归函数的描述,以下选项中正确的是A.包含一个循环结构B.函数比较复杂C.函数内部包含对本函数的再次调用D.函数名称作为返回值答案:D答案解析:递归函数是指函数内部包含对本函数的再次调用。2、关于递归... -
Python:函数和代码复用
2019-12-29 16:16:211、关于递归函数的描述,以下选项中正确的是 A.包含一个循环结构 B.函数比较复杂 C.函数内部包含对本函数的再次调用 D.函数名称作为返回值 答案:D 答案解析:递归函数是指函数内部包含对本函数的再次调用。 ... -
函数和代码复用 --Python
2019-06-06 16:34:001、关于递归函数的描述,以下选项中正确的是 A.包含一个循环结构 B.函数比较复杂 C.函数内部包含对本函数的再次调用 D.函数名称作为返回值 答案:D 答案解析:递归函数是指函数内部包含对本函数的再次调用。 2、关于... -
python代码_Python:函数和代码复用
2020-10-21 22:01:431、关于递归函数的描述,以下选项中正确的是A.包含一个循环结构B.函数比较复杂C.函数内部包含对本函数的再次调用D.函数名称作为返回值答案:D答案解析:递归函数是指函数内部包含对本函数的再次调用。2、关于递归... -
python random.uniform(a、b)的作用_random.uniform(a,b)的作用是
2021-01-14 08:54:49【单选题】以下关于函数参数和返回值的描述,正确的是:【单选题】关于下面代码,以下选项中描述正确的是... -
关于代码的一些问题
2020-12-01 16:57:35UP感兴趣的话也可以去查一查main()函数返回值到底意味着什么。 </li></ol> 代码的问题其实很多,限于篇幅先只写这么多。说实话,并不是想打击UP学习编程的积极性。而是我相信一些建议能够帮助UP写出更好... -
C语言关于指针的一个编程
2020-02-28 14:38:51注意在文件头需进行正确的函数声明。 2.按照statistics.h 中的要求完成statistics.c文件 3. 写出测试程序main.c以测试你的程序是否正确。 注意: • my_pointerFun部分占成绩的20%,main 部分占%10, ... -
python 3.0 print_Python语句print(type([1,2,3,4])的运行结果是( )。_学小易找答案
2021-01-28 15:14:55《Python语言及应用》课程翻转课堂教学任务单(第6章序列数据类型--列表与元组).docx (10.0分)【单选题】以下关于函数参数和返回值的描述,正确的是:【填空题】变量声明后未赋值,该变量的类型为( 1 )。 (1.0分)【多选... -
python语句first、*middles_下列控制措施中,贯彻了制衡性原则的有( )
2020-12-10 16:59:22【单选题】以下关于函数参数和返回值的描述,正确的是:【填空题】类的私有成员属性是使用(单下划线或双下划线) 开头的变量,答 __ ____【单选题】在Python程序中对于表达式123 + 'xyz',解释器将抛出_______错误信息。... -
python语句list(range(2、9、2))_Python语句序列”print(tuple(range(2)), list(range(2))“的运行结果是( ...
2021-02-04 13:31:19【单选题】以下关于函数参数和返回值的描述,正确的是:【单选题】Python语句序列如下: x='car' y=2 print(x+y) 输出结果为( )【单选题】Python语句序列"a = [1, 2, 3, None, ( ), [ ], ]; print(len(a))"的运行结果是... -
python语句first、*middles_变量声明后未赋值,该变量的类型为( 1 )。 (1.0分)_学小易找答案...
2020-12-10 16:58:31【单选题】以下关于函数参数和返回值的描述,正确的是:【填空题】变量声明后未赋值,该变量的类型为( 1 )。 (1.0分)【单选题】在Python程序中假设列表s=[1,2,3],如果语句中使用s[3],则解释器将抛出___... -
java4级考试多选题.doc
2020-06-05 21:00:501 以下关于中断控制语句的描述错误的是 A E A break 语句用于中断当前的程序块如 ...D return 用于退出整个子程序 E 在一个函数中不管有没有返回值都需要 return 语句来推出函数 2 以下关于函数重载的描述中正确的是 BC -
Qt Creator 的安装和hello world 程序+其他程序的编写--不是一般的好
2011-01-28 17:02:082.运行Qt Creator,首先弹出的是欢迎界面,这里可以打开其自带的各种演示 程序。 3.我们用File->New 菜单来新建工程。 4.这里我们选择Qt4 Gui Application。 5.下面输入工程名和要保存到的文件夹路径。我们这里的... -
你必须知道的495个C语言问题
2015-10-16 14:14:28不同编译器给出不同的i值,有的为3,有的为4,哪个是正确的? *3.4 有这样一个巧妙的表达式:a^=b^=a^=b;它不需要临时变量就可以交换a和b的值。 3.5 可否用显式括号来强制执行我所需要的计算顺序并控制相关的副... -
c++知识题
2017-09-15 18:22:071.下面有关重载函数的说法中正确的是(C) A重载函数必须具有不同的返回值类型; B重载函数形参个数必须不同; C重载函数必须有不同的形参列表 D重载函数名可以不同; 2.下列关于构造函数的描述... -
牛客网选择题
2019-09-16 21:35:361、下列关于构造函数的描述正确的是(C) A、构造函数可以声明返回类型 x B、构造函数不可以用private修饰 x C、构造函数必须与类名相同 √ D、构造函数不能带参数 x 解析: A:构造函数就没必要声明返回值的必要 B... -
《你必须知道的495个C语言问题》
2010-03-20 16:41:18不同编译器给出不同的i值,有的为3,有的为4,哪个是正确的? 34 *3.4 有这样一个巧妙的表达式:a^= b^= a^= b; 它不需要临时变量就可以交换a和b的值。 34 3.5 可否用显式括号来强制执行我所需要的计算顺序并... -
你必须知道的495个C语言问题(高清版)
2010-03-31 16:24:09不同编译器给出不同的i值,有的为3,有的为4,哪个是正确的? 34 *3.4 有这样一个巧妙的表达式:a^= b^= a^= b; 它不需要临时变量就可以交换a和b的值。 34 3.5 可否用显式括号来强制执行我所需要的计算顺序并... -
编写高质量代码:改善Java程序的151个建议.秦小波(带详细书签).pdf
2019-01-15 14:23:55本书是一本关于Java最佳实践的集大成之作,它从Java语言本身、Java程序的架构设计和思想、Java程序的编码规范和习惯等方面对151个经典的问题给出了解决方案,为Java开发者提高开发效率和编写高质量的Java代码提供了...