登录二一教育在线组卷平台 助您教考全无忧
2022年山东省东营市信息技术等级考试Python 5
一、单选题
1.以下程序运行后,显示的结果是( )。
A.10 B.15 C.21 D.12
【答案】B
【知识点】分支结构程序设计与分析;自定义语句与函数
【解析】【解答】def本身是一个函数对象。也可以叫它“方法”。属于对象的函数,就是对象的属性。def定义了一个模块的变量,或者说是类的变量。故答案为:B。
【分析】本题考查分支语句。def是用来定义函数的,f是函数名,n是变量,如果n为1,则返回值为1;否则返回n+f(n-1);本题要返回f(5)的值,当n=1时,f(1)=1;当n=2时,f(2)=3;当n=3时,f(1)=5;当n=4时,f(1)=7;当n=5时,f(1)=1;
2.Python中创建自定义函数的语法规范是( )。
A.def 函数名([参数列表]): B.del 函数名([参数列表]):
C.sub 函数名([参数列表]) D.define 函数名([参数列表]):
【答案】A
【知识点】自定义语句与函数
【解析】【解答】Python自定义函数的语法规范是以关键词der开头,后接函数标识符名称和圆括号()故答案选A。
【分析】本题考查的是Python自定函数的使用。Python自定义函数的规则:
(1)函数代码块以 def 关键词开头,后接函数标识符名称和圆括号( );
(2)任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数;
(3)函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明;
(4)函数内容以冒号起始,并且缩进;
(5)return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
3.由于递归函数不断调用自身,如果没有设置( ),递归调用会形成无限循环。
A.递归条件 B.终止条件 C.初始条件 D.循环条件
【答案】B
【知识点】递归算法及其程序设计
【解析】【解答】因为递归函数会自己调用自己,如果不设置任何退出机制,就会变成死循环递归调用,所以一般都需要设置一个结束递归的条件。故答案为:B。
【分析】本题主要考对于递归函数的应用,编程语言中,函数Func(Type a,……)直接或间接调用函数本身,则该函数称为递归函数。
4.递归函数与一般的自定义函数相比,最大特点是( )
A.调用自身 B.支持参数
C.函数名不能以数字开头 D.函数代码包含选择结构
【答案】A
【知识点】递归算法及其程序设计
【解析】【解答】编程语言中,函数Func(Type a,……)直接或间接调用函数本身,则该函数称为递归函数。故答案为:A。
【分析】本题考查对递归函数的理解。递归函数会自己调用自己,要设置退出机制,否则就会变成死循环递归调用,所以一般都需要设置一个结束递归的条件。
5.使用冒泡排序算法将10个数字进行降序排列,需要进行( )次数值比较。
A.10 B.45 C.55 D.100
【答案】B
【知识点】排序算法及其程序设计
【解析】【解答】冒泡排序的原理是:从左到右,相邻元素进行比较。每次比较一轮,就会找到序列中最大的一个或最小的一个。这个数就会从序列的最右边冒出来。故答案为:B。
【分析】本题考查排序的算法应用。冒泡排序是以从小到大排序为例,第一轮比较后,所有数中最大的那个数就会浮到最右边;第二轮比较后,所有数中第二大的那个数就会浮到倒数第二个位置……就这样一轮一轮地比较,最后实现从小到大排序。
6.以下程序运行后,显示的结果是( )
A.["11","2","3","4"] B.[ 2, 3, 4,11]
C.[11,4, 3, 2] D.以上都不对
【答案】D
【知识点】排序算法及其程序设计
【解析】【解答】sort( )函数是给定区间进行排序,默认为升序,a.sort( )的结果为:['11', '2', '3', '4']。先排序二位数,再排序一位数。int()函数则是取整,b = [ int(x)for x in a ]表示的是b数组的数据,从a数组中取整获得,所以结果应为:[11,2,4,3]。故答案选D。
【分析】本题考查的是Python的函数。sort( )函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。int( )函数用于将一个字符串或数字转换为整型。
7.以下有关数据排序和编程的说法,错误的是( )
A.数据排序就是按照某种逻辑关系将杂乱“无序”数据调整为“有序”数据。
B.数据排序有利于对信息进行高效地的检索、分类。
C.编写程序时不需要考虑容错处理,使用者录入错误数据是他自己的责任。
D.生活中解决问题的方法和计算机的程序算法是可以相互借鉴的。
【答案】C
【知识点】排序算法及其程序设计
【解析】【解答】 容错描述的是一个电脑系统或组件,它们被设计用来在组件发生故障时备用组件或程序能够立即代替它,这样就不会耽误它的服务。容错可以通过软件或嵌入硬件来提供,也可由一些组合来提供。 我们在数据排序时考虑容错处理可以很好地保护数据的有效性,故答案为:C。
【分析】本题主要考查排序算法及程序设计。数据排序是按一定顺序将数据排列,以便研究者通过浏览数据发现一些明显的特征或趋势,找到解决问题的线索。 故AB正确,计算机的算法和生活中的算法是可以借鉴的,只不过计算机程序要用计算机可以识别的语言描述出来就可以了。故D是正确的。
8.以下程序运行后,显示的结果是( )
A.["1","2","3","4"] B.[1, 2, 3, 4]
C.[4, 3, 2, 1] D.以上都不对
【答案】B
【知识点】排序算法及其程序设计
【解析】【解答】b = [ int(x)for x in a ]表示的是b数组的数据,从a数组中取整获得,b[] = [1,2,3,4]。sort( )函数是给定区间进行排序,默认为升序,b.sort( )的结果为:[1,2,3,4]。故答案选B。
【分析】本题考查的是Python的函数。sort( )函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。int( )函数用于将一个字符串或数字转换为整型。
9.我们一般采用( )层循环结构实现冒泡排序算法。
A.1 B.2 C.3 D.4
【答案】B
【知识点】排序算法及其程序设计
【解析】【解答】第一个大的for循环用来控制这个冒泡排序的循环次数,第二个for循环也是控制循环次数并找出此数组中最大的值。找到后此值最大减少一次循环的次数。故答案为:B。
【分析】本题考查排序算法。用二重循环实现,外循环变量设为i,内循环变量设为j。假如有10个数需要进行排序,则外循环重复9次,内循环依次重复9,8,...,1次。每次进行比较的两个元素都是与内循环j有关的,它们可以分别用a[j]和a[j+1]标识,i的值依次为1,2,...,9,对于每一个i,j的值依次为1,2,...10-i。
10.以下哪项不属于迭代算法解决问题的注意事项:( )
A.确定迭代变量 B.建立迭代关系式
C.控制迭代过程 D.尽量避免使用循环结构
【答案】D
【知识点】递归算法及其程序设计
【解析】【解答】 利用迭代算法解决问题,需要做好以下三个方面的工作:确定迭代变量、折叠建立迭代关系式、折叠对迭代过程进行控制。故答案为:D。
【分析】本题考查迭代算法。迭代是数值分析中通过从一个初始估计出发寻找一系列近似解来解决问题(一般是解方程或者方程组)的过程,为实现这一过程所使用的方法统称为迭代法(Iterative Method) 。
确定迭代变量:在可以用迭代算法解决的问题中,至少存在一个直接或间接地不断由旧值递推出新值的变量,这个变量就是迭代变量。
折叠建立迭代关系式:所谓迭代关系式,指如何从变量的前一个值推出其下一个值的公式(或关系)。迭代关系式的建立是解决迭代问题的关键,通常可以顺推或倒推的方法来完成。
折叠对迭代过程进行控制:在什么时候结束迭代过程 这是编写迭代程序必须考虑的问题。不能让迭代过程无休止地重复执行下去。迭代过程的控制通常可分为两种情况:一种是所需的迭代次数是个确定的值,可以计算出来;另一种是所需的迭代次数无法确定。对于前一种情况,可以构建一个固定次数的循环来实现对迭代过程的控制;对于后一种情况,需要进一步分析出用来结束迭代过程的条件。
11.以下关于迭代器的描述,不正确的是( )
A.迭代器可以记住访问位置
B.迭代器对象从集合的第一个元素开始访问
C.迭代器访问元素可以往前也可以后退
D.可以使用next( )函数来访问下一个数据
【答案】C
【知识点】递归算法及其程序设计
【解析】【解答】 迭代器是一个可以记住遍历位置的对象,从第一个元素迭代到最后一个元素,迭代器只能往前,不能后退。故答案为:C。
【分析】本题主要考查算法的结构设计。迭代器有时又称光标,是程序设计的软件设计模式,可在容器对象(例如链表或数组)上遍访的接口,设计人员无需关心容器对象的内存分配的实现细节。 当我们对迭代器使用next()函数的时候,迭代器会向我们返回它所记录位置的下一个位置的数据。实际上,在使用next( )函数的时候,调用的就是迭代器对象的__next__方法,因此可以使用next( )函数来访问数据。
12.我们采用以下哪种结构实现自动迭代最为合适( )
A.顺序结构 B.选择结构 C.循环结构 D.迭代结构
【答案】C
【知识点】算法的控制结构
【解析】【解答】迭代是函数内某段代码实现循环。故答案为:C。
【分析】本题主要考查迭代算法。迭代:利用变量的原值推算出变量的一个新值。如果递归是自己调用自己的话,迭代就是A不停的调用B。
13.以下表达式的运行结果不是整数的是( )
A.6//9 B.6/9 C.6**2 D.6%9
【答案】B
【知识点】运算符与表达式
【解析】【解答】选项A:6//9的结果是0;选项B:结果不是整数;选项C:结果是36;选项D:结果是6。故答案为:B。
【分析】本题考查运算符与表达式。//整除运算 、 /除法运算 、%取余运算 、 **乘方运算。
14.完数,又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和,恰好等于它本身。如6=1+2+3,6即是完数。编程找出1000以内的所有完数。以下程序中缺失的判断条件应该填写( )。
A.n%a=0 B.n%a==0 C.a%n=0 D.a%n==0
【答案】B
【知识点】枚举算法及其程序设计;Python常用内置函数
【解析】【解答】完美数要满足除了自身以外的约数相加等于他本身,判断a是不是n因数则要判断n是不是可以整除a,也就是余数是不是为0,如果余数为0则整除,那么a是n的约数。故答案为:B。
【分析】本题考查枚举算法程序分析。在Python中,整除用%表示,=表示赋值,==表示相等。
range( )函数格式: range([start,] stop[, step]);功能:创建一个整数列表;参数:起始值(缺省为0),终值(但不包括),步长(缺省为1)。
15.完数,又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和,恰好等于它本身。如6=1+2+3,6即是完数。编程找出1000以内的所有完数。以下程序中缺失的判断条件,下面哪一个选项是错误的
A.a in range(1,int(n/2+1)) B.a in range(1,int(n/2)+1)
C.a in range(1,int(n//2+1)) D.a in range(1,int(n\2+1))
【答案】D
【知识点】运算符与表达式;枚举算法及其程序设计
【解析】【解答】程序中缺少的判断条件是针对枚举的每一位数据,求出他的因子数可能存在的范围。D选项“n\2”本身就已经取整了,不需使用int( )函数。故答案选D。
【分析】本题考查的是枚举算法分析。表达式,是由数字、算符、数字分组符号(括号)、自由变量和约束变量等以能求得数值的有意义排列方法所得的组合。约束变量在表达式中已被指定数值,而自由变量则可以在表达式之外另行指定数值。
16.《孙子算经》中,有这样一道算术题:“今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?”按照今天的话来说:一个数除以3余2,除以5余3,除以7余2,求这个数。这样的问题,也有人称为“韩信点兵”。现假设所求数为m,以python编程下列表达式中判断条件符合要求的是( )
A.m/3==2 and m/5==3 and m/7==2
B.m/3==2 or m/5==3 or m/7==2
C.m%3==2 and m%5==3 and m%7==2
D.m%3==2 or m%5==3 or m%7==2
【答案】C
【知识点】运算符与表达式
【解析】【解答】从题意可以理解,一个数值可以满足除以3余2,除以5余3,除以7余2,这三个条件要同时为真,则这个数才是正确的,我们要用and进行连接,and前后条件都为真结果为真。故答案为:C。
【分析】本题考查运算符和表达式。%是求余,/是相除,or前后条件一真则真,and前后条件都真则真。
17.下列程序运行后,n值最大的是( )
A.1 B.2 C.3 D.4
【答案】C
【知识点】循环结构程序设计与分析;Python常用内置函数
【解析】【解答】图一n的值为9,图二n的值为9,图三n的值为10,图四n的值为9。故答案为:C。
【分析】本题主要考查对循环语句及range函数的理解。range( )函数格式: range([start,] stop[, step]);功能:创建一个整数列表;参数:起始值(缺省为0),终值(但不包括),步长(缺省为1)。
分析图一:0赋值给a,0赋值给b,0赋值给n,a从1赋值到10,b从1赋值到20,如果a和b的值相等则n加1,符合条件的有1、2、3、4、5、6、7、8、9共9个数,则n为9。
分析图二:0赋值给a,0赋值给b,0赋值给n,a从0赋值到10,b从1赋值到20,如果a和b的值相等则n加1,符合条件的有1、2、3、4、5、6、7、8、9共9个数,则n为10。
分析图三:0赋值给a,0赋值给b,0赋值给n,a从0赋值到10,b从0赋值到20,如果a和b的值相等则n加1,符合条件的有0、1、2、3、4、5、6、7、8、9共9个数,则n为10。分析图四:0赋值给a,0赋值给b,0赋值给n,a从1赋值到10,b从0赋值到20,如果a和b的值相等则n加1,符合条件的有1、2、3、4、5、6、7、8、9共9个数,则n为9。
18.一个3位数m,如果百位数字与个位数字相同,则该数属于回文数,其判断条件可以写成( )
A.m//100==m%10 B.m/100== %10
C.m/100==m//10 D.m%100==m//10
【答案】A
【知识点】运算符与表达式
【解析】【解答】百位数和个位数相同,也就是这个数整除100的结果和这个数除10得到的余数一样,则这个数为回文数。故答案为:A。
【分析】本题主要考查运算符和表达式。//整除运算、%取余运算、*乘法运算、+相加运算。
19.所谓回文数是从左至右与从右至左读起来都一样的数字。如:121是一个回文数。如果编写程序寻找三位数中的回文数可以用( )算法。
A.枚举 B.迭代 C.排序 D.递归
【答案】A
【知识点】枚举算法及其程序设计
【解析】【解答】枚举也就是返回在一定范围内可能出现的结果,我们可以更清晰的查看结果。故答案为:A。
【分析】本题考查算法的选择。本题首先可以排除排序,其次排序和递归是运用循环结构进行设计。
20.下列语句中变量i取值次数最多的是( )
A.for i in range(101) B.for i in range(1,100)
C.for i in range(2,100,2) D.for i in range(100,200)
【答案】A
【知识点】Python常用内置函数
【解析】【解答】 变量i取值次数最多,A取值101次,B取值从1到100共100次,C从2到100,步长为2,D从100到200共100次。故答案为:A。
【分析】本题考查range函数。range( )函数格式: range([start,] stop[, step]);功能:创建一个整数列表;参数:起始值(缺省为0),终值(但不包括),步长(缺省为1)。
二一教育在线组卷平台(zujuan.21cnjy.com)自动生成 1 / 1登录二一教育在线组卷平台 助您教考全无忧
2022年山东省东营市信息技术等级考试Python 5
一、单选题
1.以下程序运行后,显示的结果是( )。
A.10 B.15 C.21 D.12
2.Python中创建自定义函数的语法规范是( )。
A.def 函数名([参数列表]): B.del 函数名([参数列表]):
C.sub 函数名([参数列表]) D.define 函数名([参数列表]):
3.由于递归函数不断调用自身,如果没有设置( ),递归调用会形成无限循环。
A.递归条件 B.终止条件 C.初始条件 D.循环条件
4.递归函数与一般的自定义函数相比,最大特点是( )
A.调用自身 B.支持参数
C.函数名不能以数字开头 D.函数代码包含选择结构
5.使用冒泡排序算法将10个数字进行降序排列,需要进行( )次数值比较。
A.10 B.45 C.55 D.100
6.以下程序运行后,显示的结果是( )
A.["11","2","3","4"] B.[ 2, 3, 4,11]
C.[11,4, 3, 2] D.以上都不对
7.以下有关数据排序和编程的说法,错误的是( )
A.数据排序就是按照某种逻辑关系将杂乱“无序”数据调整为“有序”数据。
B.数据排序有利于对信息进行高效地的检索、分类。
C.编写程序时不需要考虑容错处理,使用者录入错误数据是他自己的责任。
D.生活中解决问题的方法和计算机的程序算法是可以相互借鉴的。
8.以下程序运行后,显示的结果是( )
A.["1","2","3","4"] B.[1, 2, 3, 4]
C.[4, 3, 2, 1] D.以上都不对
9.我们一般采用( )层循环结构实现冒泡排序算法。
A.1 B.2 C.3 D.4
10.以下哪项不属于迭代算法解决问题的注意事项:( )
A.确定迭代变量 B.建立迭代关系式
C.控制迭代过程 D.尽量避免使用循环结构
11.以下关于迭代器的描述,不正确的是( )
A.迭代器可以记住访问位置
B.迭代器对象从集合的第一个元素开始访问
C.迭代器访问元素可以往前也可以后退
D.可以使用next( )函数来访问下一个数据
12.我们采用以下哪种结构实现自动迭代最为合适( )
A.顺序结构 B.选择结构 C.循环结构 D.迭代结构
13.以下表达式的运行结果不是整数的是( )
A.6//9 B.6/9 C.6**2 D.6%9
14.完数,又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和,恰好等于它本身。如6=1+2+3,6即是完数。编程找出1000以内的所有完数。以下程序中缺失的判断条件应该填写( )。
A.n%a=0 B.n%a==0 C.a%n=0 D.a%n==0
15.完数,又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和,恰好等于它本身。如6=1+2+3,6即是完数。编程找出1000以内的所有完数。以下程序中缺失的判断条件,下面哪一个选项是错误的
A.a in range(1,int(n/2+1)) B.a in range(1,int(n/2)+1)
C.a in range(1,int(n//2+1)) D.a in range(1,int(n\2+1))
16.《孙子算经》中,有这样一道算术题:“今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?”按照今天的话来说:一个数除以3余2,除以5余3,除以7余2,求这个数。这样的问题,也有人称为“韩信点兵”。现假设所求数为m,以python编程下列表达式中判断条件符合要求的是( )
A.m/3==2 and m/5==3 and m/7==2
B.m/3==2 or m/5==3 or m/7==2
C.m%3==2 and m%5==3 and m%7==2
D.m%3==2 or m%5==3 or m%7==2
17.下列程序运行后,n值最大的是( )
A.1 B.2 C.3 D.4
18.一个3位数m,如果百位数字与个位数字相同,则该数属于回文数,其判断条件可以写成( )
A.m//100==m%10 B.m/100== %10
C.m/100==m//10 D.m%100==m//10
19.所谓回文数是从左至右与从右至左读起来都一样的数字。如:121是一个回文数。如果编写程序寻找三位数中的回文数可以用( )算法。
A.枚举 B.迭代 C.排序 D.递归
20.下列语句中变量i取值次数最多的是( )
A.for i in range(101) B.for i in range(1,100)
C.for i in range(2,100,2) D.for i in range(100,200)
答案解析部分
1.【答案】B
【知识点】分支结构程序设计与分析;自定义语句与函数
【解析】【解答】def本身是一个函数对象。也可以叫它“方法”。属于对象的函数,就是对象的属性。def定义了一个模块的变量,或者说是类的变量。故答案为:B。
【分析】本题考查分支语句。def是用来定义函数的,f是函数名,n是变量,如果n为1,则返回值为1;否则返回n+f(n-1);本题要返回f(5)的值,当n=1时,f(1)=1;当n=2时,f(2)=3;当n=3时,f(1)=5;当n=4时,f(1)=7;当n=5时,f(1)=1;
2.【答案】A
【知识点】自定义语句与函数
【解析】【解答】Python自定义函数的语法规范是以关键词der开头,后接函数标识符名称和圆括号()故答案选A。
【分析】本题考查的是Python自定函数的使用。Python自定义函数的规则:
(1)函数代码块以 def 关键词开头,后接函数标识符名称和圆括号( );
(2)任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数;
(3)函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明;
(4)函数内容以冒号起始,并且缩进;
(5)return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
3.【答案】B
【知识点】递归算法及其程序设计
【解析】【解答】因为递归函数会自己调用自己,如果不设置任何退出机制,就会变成死循环递归调用,所以一般都需要设置一个结束递归的条件。故答案为:B。
【分析】本题主要考对于递归函数的应用,编程语言中,函数Func(Type a,……)直接或间接调用函数本身,则该函数称为递归函数。
4.【答案】A
【知识点】递归算法及其程序设计
【解析】【解答】编程语言中,函数Func(Type a,……)直接或间接调用函数本身,则该函数称为递归函数。故答案为:A。
【分析】本题考查对递归函数的理解。递归函数会自己调用自己,要设置退出机制,否则就会变成死循环递归调用,所以一般都需要设置一个结束递归的条件。
5.【答案】B
【知识点】排序算法及其程序设计
【解析】【解答】冒泡排序的原理是:从左到右,相邻元素进行比较。每次比较一轮,就会找到序列中最大的一个或最小的一个。这个数就会从序列的最右边冒出来。故答案为:B。
【分析】本题考查排序的算法应用。冒泡排序是以从小到大排序为例,第一轮比较后,所有数中最大的那个数就会浮到最右边;第二轮比较后,所有数中第二大的那个数就会浮到倒数第二个位置……就这样一轮一轮地比较,最后实现从小到大排序。
6.【答案】D
【知识点】排序算法及其程序设计
【解析】【解答】sort( )函数是给定区间进行排序,默认为升序,a.sort( )的结果为:['11', '2', '3', '4']。先排序二位数,再排序一位数。int()函数则是取整,b = [ int(x)for x in a ]表示的是b数组的数据,从a数组中取整获得,所以结果应为:[11,2,4,3]。故答案选D。
【分析】本题考查的是Python的函数。sort( )函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。int( )函数用于将一个字符串或数字转换为整型。
7.【答案】C
【知识点】排序算法及其程序设计
【解析】【解答】 容错描述的是一个电脑系统或组件,它们被设计用来在组件发生故障时备用组件或程序能够立即代替它,这样就不会耽误它的服务。容错可以通过软件或嵌入硬件来提供,也可由一些组合来提供。 我们在数据排序时考虑容错处理可以很好地保护数据的有效性,故答案为:C。
【分析】本题主要考查排序算法及程序设计。数据排序是按一定顺序将数据排列,以便研究者通过浏览数据发现一些明显的特征或趋势,找到解决问题的线索。 故AB正确,计算机的算法和生活中的算法是可以借鉴的,只不过计算机程序要用计算机可以识别的语言描述出来就可以了。故D是正确的。
8.【答案】B
【知识点】排序算法及其程序设计
【解析】【解答】b = [ int(x)for x in a ]表示的是b数组的数据,从a数组中取整获得,b[] = [1,2,3,4]。sort( )函数是给定区间进行排序,默认为升序,b.sort( )的结果为:[1,2,3,4]。故答案选B。
【分析】本题考查的是Python的函数。sort( )函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。int( )函数用于将一个字符串或数字转换为整型。
9.【答案】B
【知识点】排序算法及其程序设计
【解析】【解答】第一个大的for循环用来控制这个冒泡排序的循环次数,第二个for循环也是控制循环次数并找出此数组中最大的值。找到后此值最大减少一次循环的次数。故答案为:B。
【分析】本题考查排序算法。用二重循环实现,外循环变量设为i,内循环变量设为j。假如有10个数需要进行排序,则外循环重复9次,内循环依次重复9,8,...,1次。每次进行比较的两个元素都是与内循环j有关的,它们可以分别用a[j]和a[j+1]标识,i的值依次为1,2,...,9,对于每一个i,j的值依次为1,2,...10-i。
10.【答案】D
【知识点】递归算法及其程序设计
【解析】【解答】 利用迭代算法解决问题,需要做好以下三个方面的工作:确定迭代变量、折叠建立迭代关系式、折叠对迭代过程进行控制。故答案为:D。
【分析】本题考查迭代算法。迭代是数值分析中通过从一个初始估计出发寻找一系列近似解来解决问题(一般是解方程或者方程组)的过程,为实现这一过程所使用的方法统称为迭代法(Iterative Method) 。
确定迭代变量:在可以用迭代算法解决的问题中,至少存在一个直接或间接地不断由旧值递推出新值的变量,这个变量就是迭代变量。
折叠建立迭代关系式:所谓迭代关系式,指如何从变量的前一个值推出其下一个值的公式(或关系)。迭代关系式的建立是解决迭代问题的关键,通常可以顺推或倒推的方法来完成。
折叠对迭代过程进行控制:在什么时候结束迭代过程 这是编写迭代程序必须考虑的问题。不能让迭代过程无休止地重复执行下去。迭代过程的控制通常可分为两种情况:一种是所需的迭代次数是个确定的值,可以计算出来;另一种是所需的迭代次数无法确定。对于前一种情况,可以构建一个固定次数的循环来实现对迭代过程的控制;对于后一种情况,需要进一步分析出用来结束迭代过程的条件。
11.【答案】C
【知识点】递归算法及其程序设计
【解析】【解答】 迭代器是一个可以记住遍历位置的对象,从第一个元素迭代到最后一个元素,迭代器只能往前,不能后退。故答案为:C。
【分析】本题主要考查算法的结构设计。迭代器有时又称光标,是程序设计的软件设计模式,可在容器对象(例如链表或数组)上遍访的接口,设计人员无需关心容器对象的内存分配的实现细节。 当我们对迭代器使用next()函数的时候,迭代器会向我们返回它所记录位置的下一个位置的数据。实际上,在使用next( )函数的时候,调用的就是迭代器对象的__next__方法,因此可以使用next( )函数来访问数据。
12.【答案】C
【知识点】算法的控制结构
【解析】【解答】迭代是函数内某段代码实现循环。故答案为:C。
【分析】本题主要考查迭代算法。迭代:利用变量的原值推算出变量的一个新值。如果递归是自己调用自己的话,迭代就是A不停的调用B。
13.【答案】B
【知识点】运算符与表达式
【解析】【解答】选项A:6//9的结果是0;选项B:结果不是整数;选项C:结果是36;选项D:结果是6。故答案为:B。
【分析】本题考查运算符与表达式。//整除运算 、 /除法运算 、%取余运算 、 **乘方运算。
14.【答案】B
【知识点】枚举算法及其程序设计;Python常用内置函数
【解析】【解答】完美数要满足除了自身以外的约数相加等于他本身,判断a是不是n因数则要判断n是不是可以整除a,也就是余数是不是为0,如果余数为0则整除,那么a是n的约数。故答案为:B。
【分析】本题考查枚举算法程序分析。在Python中,整除用%表示,=表示赋值,==表示相等。
range( )函数格式: range([start,] stop[, step]);功能:创建一个整数列表;参数:起始值(缺省为0),终值(但不包括),步长(缺省为1)。
15.【答案】D
【知识点】运算符与表达式;枚举算法及其程序设计
【解析】【解答】程序中缺少的判断条件是针对枚举的每一位数据,求出他的因子数可能存在的范围。D选项“n\2”本身就已经取整了,不需使用int( )函数。故答案选D。
【分析】本题考查的是枚举算法分析。表达式,是由数字、算符、数字分组符号(括号)、自由变量和约束变量等以能求得数值的有意义排列方法所得的组合。约束变量在表达式中已被指定数值,而自由变量则可以在表达式之外另行指定数值。
16.【答案】C
【知识点】运算符与表达式
【解析】【解答】从题意可以理解,一个数值可以满足除以3余2,除以5余3,除以7余2,这三个条件要同时为真,则这个数才是正确的,我们要用and进行连接,and前后条件都为真结果为真。故答案为:C。
【分析】本题考查运算符和表达式。%是求余,/是相除,or前后条件一真则真,and前后条件都真则真。
17.【答案】C
【知识点】循环结构程序设计与分析;Python常用内置函数
【解析】【解答】图一n的值为9,图二n的值为9,图三n的值为10,图四n的值为9。故答案为:C。
【分析】本题主要考查对循环语句及range函数的理解。range( )函数格式: range([start,] stop[, step]);功能:创建一个整数列表;参数:起始值(缺省为0),终值(但不包括),步长(缺省为1)。
分析图一:0赋值给a,0赋值给b,0赋值给n,a从1赋值到10,b从1赋值到20,如果a和b的值相等则n加1,符合条件的有1、2、3、4、5、6、7、8、9共9个数,则n为9。
分析图二:0赋值给a,0赋值给b,0赋值给n,a从0赋值到10,b从1赋值到20,如果a和b的值相等则n加1,符合条件的有1、2、3、4、5、6、7、8、9共9个数,则n为10。
分析图三:0赋值给a,0赋值给b,0赋值给n,a从0赋值到10,b从0赋值到20,如果a和b的值相等则n加1,符合条件的有0、1、2、3、4、5、6、7、8、9共9个数,则n为10。分析图四:0赋值给a,0赋值给b,0赋值给n,a从1赋值到10,b从0赋值到20,如果a和b的值相等则n加1,符合条件的有1、2、3、4、5、6、7、8、9共9个数,则n为9。
18.【答案】A
【知识点】运算符与表达式
【解析】【解答】百位数和个位数相同,也就是这个数整除100的结果和这个数除10得到的余数一样,则这个数为回文数。故答案为:A。
【分析】本题主要考查运算符和表达式。//整除运算、%取余运算、*乘法运算、+相加运算。
19.【答案】A
【知识点】枚举算法及其程序设计
【解析】【解答】枚举也就是返回在一定范围内可能出现的结果,我们可以更清晰的查看结果。故答案为:A。
【分析】本题考查算法的选择。本题首先可以排除排序,其次排序和递归是运用循环结构进行设计。
20.【答案】A
【知识点】Python常用内置函数
【解析】【解答】 变量i取值次数最多,A取值101次,B取值从1到100共100次,C从2到100,步长为2,D从100到200共100次。故答案为:A。
【分析】本题考查range函数。range( )函数格式: range([start,] stop[, step]);功能:创建一个整数列表;参数:起始值(缺省为0),终值(但不包括),步长(缺省为1)。
二一教育在线组卷平台(zujuan.21cnjy.com)自动生成 1 / 1