2023年3月GESP等级考试 Python 一级试卷解析 |
您所在的位置:网站首页 › if语句输入后就一个结果 › 2023年3月GESP等级考试 Python 一级试卷解析 |
2023年3月GESP Python 一级试卷解析 以下不属于计算机输入设备的有( )。 键盘音箱鼠标传感器【答案】B 【解析】本题属于考察计算机基础知识中的“输入”和“输出”概念;“输入”指外界向机器内部传递信息,“输出”指计算机内部信息向外界展示。此题中,“音箱”属于向外部播放声音,故属于输出概念,正确答案为B。 计算机系统中存储的基本单位用B来表示,它代表的是( )。 ByteBlockBulkBit【答案】A 【解析】本题属于考察计算机基础知识中,关于存储的基本单位;计算机中,表示存储大小的最小单位为“字节”,英文为“Byte”,表示一个字节存储空间大小的单位,用大写字母B表示,故此题选A。 下面有关Python的说法,不正确的是( )。 Python是一种面向对象的程序设计语言Python有丰富的扩展库,是Python的重要特色Python编译器可以生成目标平台的机器代码,运行效率高Python是解释型高级语言,可以跨平台运行【答案】C 【解析】本题考察考生对于Python编程环境与语言特点的了解;C选项错误的原因为:Python是通过解释器逐行解释与运行程序,不属于编译型编程语言,且通常状况下,Python相对于C或C++等编程语言运行效率更低。 以下选项中,符合Python语言变量命名规则的是( )。 5StarfiveStar*Star@Star【答案】B 【解析】本题考察Python语言中变量名的定义规则;Python中声明变量名时,变量名中能且只能包含字母、数字、下划线,且不能用数字开头,选项中A、C、D均不满足要求,故选B。 下面有关Python循环中有关break语句的说法,正确的是( )。 含有break语句的所在循环,将不会执行该循环的else子句含有break语句的所在循环,如果break被执行,将中断该循环;一个循环只能有且只能有一个break语句;一个循环可以有多个break子句,但每次执行只能一个break被执行;【答案】B 【解析】本题属于考察循环结构中,流程控制关键字break的使用;A选项错误在于,如果循环与else结合,当循环没被break终止时,会执行else中的语句;C选项错误在于,循环结构中可以设置多个break语句;D选项的每次执行可能一个break也不被执行,而是正常结束。 在Python中实现123除以10分别得到其商a和余数b的代码是( )。 a ,b = 123 % 10 , 123 // 10a , b = 123 // 10 , 123 % 10a , b = 123 / 10 , 123 % 10a , b = 123 / 10 , 123 // 10【答案】B 【解析】本题属于考察Python中的基本运算;首先需要了解赋值运算符的规则,如a,b = 1,2,相当于a=1,b=2;其次考察求商运算符//和求余运算符%的使用;综上,本题正确答案为B。 下面有关turtle.color()的说法,正确的是( )。 turtle.color()函数不能没有参数;turtle.color(1,2,3)表示画笔颜色为1、背景颜色为2,前景颜色为3;turtle.color("red","green")表示画笔颜色为red、填充颜色为green;turtle.color((1,2,3),(4,5,6))分别表示画笔颜色和填充颜色;【答案】C 【解析】本题属于考察Python中turtle绘图库的使用;turtle库中的color函数,默认颜色为黑色,故A错误;当接收整数作为参数时,三个整数分别表示红、绿、蓝三种颜色,参数可取值只有0和1,故B、D错误;当接收字符串作为参数时,两个参数分别表示画笔颜色和填充颜色,故此题选C。 下面Python代码执行后输出如下图形,请在第4行range后括号内横线上填入正确的代码( )。【答案】B 【解析】本题主要考察for循环中变量i的取值范围;观察给出的图形可发现,图形中画出了5条红色线条和蓝色线条,程序共需要运行10次;通过对于程序代码的分析,当i%2==0表示i的取值为偶数时条件成立;所以第一条画出红色线条,i的初始值应为偶数,故排除A、C、D,正确答案为B。 turtle.speed(n)用于确定绘图速度,当n值为( ),速度最快。 01510【答案】A 【解析】本题考察了turtle绘图库中speed()函数;参数的取值范围为0~10,其中参数从1~10画笔速度不断增加,参数为0时速度最快,本题属于固定用法,故选A。 下面Python代码执行后显示图形如下,turtle.circle()实现,内外层半径相差为20像素,在横线上填入相应代码( )。【答案】A 【解析】本题考察了turtle绘图库中circle()函数的使用与for循环中变量i的取值;通过阅读程序发现,goto()函数中的y坐标在不断变小,画笔向下运动,可以分析出正方形要逐渐放大;for循环中,变量i的取值从0开始不断增加1,所以可以结合变量让circle函数的半径变大,实现画出更大的正方形,排除C、D选项;同时需注意i初始值为0,排除B选项;故正确答案为A。 下面Python执行后的输出结果是( )。【答案】A 【解析】本题主要考察Python中选择结构的使用;if...elif...else...结构,代表“如果...否则如果...否则...”,特点是:当多个条件中有一个条件能够成立时,不再进行其他条件的进行判断;当变量n的值为30时,满足第一个n>30的条件,直接输出对应的结果“A”后结束这个选择结构,故正确答案为A选项。 以下Python代码执行后输出结果是( )。【答案】A 【解析】本题考察了for循环中range()函数参数与变量i的关系,与循环结构中流程控制关键字continue的使用;range()函数的三个参数分别表示变量i能够取值的初始值、结束值与步长;如range(a,N,x)表示变量从a开始,到N-1结束,每次增加x;由此得出题目中i的取值分别为1、3、5、7、9。关键字continue的作用为,终止当次循环并重新开始下一次循环;条件i%3表示当i除3的余数非0时,略过当次循环,所以Sum中累加的i的值为3和9,故答案为A选项。 下面Python代码用于求![]() 【答案】C 【解析】本题主要考察for循环中变量的取值,与复合赋值运算符的使用;首先需清楚a+=1的程序写法,等效于a=a+1;根据题意,分母应为1到N的和,阅读代码发现,i此时的取值范围恰好为从1到N,所以应该将变量i的值累加到lastSum变量中,故选项C为正确答案。 下面Python代码执行后输出是 ( ) 。【答案】B 【解析】本题考察考生对于for循环中range()参数的设置与变量i取值的理解;首先i初始值为2,range(i+2)表示程序会重复执行4次;其次i的取值从0开始每次递增1,所以i值依次取0、1、2、3,程序输出0#1#2#3#;最后当i取值为3的时候,变量经过i+=2变为5,当循环结束输出i时,输出数字5,故选B。 执行以下Python代码后,数据结果是( )。【答案】B 【解析】本题考察考生对于for循环中变量i取值的理解和流程控制break、continue关键字的掌握;首先i取值为从0到9;其次条件1表示当i为2的倍数时,略过当次循环,条件2表示当i为7的倍数时,终止整个循环;所以Sum变量中累加的数值依次为0、1、3、5,最终输出的结果为9,故此题选B。 二、判断题(每题2分,共20分) 在Windows系统中通过键盘完成对选定文本移动的按键组合是先Ctrl+X,移动到目标位置后按Ctrl+V。【答案】正确√ 【解析】本题考察计算机基础中快捷键的使用;Ctrl+X表示剪切文件(复制并从原位置删除),Ctrl+V表示粘贴所剪切的文件。 程序员用C、C++、Python、Scratch等编写的程序能在 CPU 上直接执行。【答案】错误× 【解析】本题属于对计算机历史中,编程语言特点的考察;题目中所列举的编程语言,均无法在CPU上直接执行,而是需要通过各自的方式,转换成机器语言后才能被CPU识别和执行,故本题错误。 Python代码turtle.circle()可以绘制每边边长相等的多边形。【答案】正确√ 【解析】本题考察了turtle绘图库中circle函数的使用;circle函数可以通过设置steps参数,来画出圆形的内接正多边形,如circle(100,steps=3)可以画出半径100的圆形中的内接正三角形,故此题正确。 Python代码turtle.goto()执行后不会改变海龟的朝向。【答案】正确√ 【解析】本题考察了turtle绘图库中goto函数的使用;goto函数只会改变画笔所在的位置,并不会调整画笔的方向,故此题正确。 Python的int()函数可以将数字式字符串形如"3.14"或浮点数如3.14转换为整数。【答案】错误× 【解析】本题主要考察Python中的数据类型概念和类型转换函数的使用;int函数可以将只包含整数的字符串类型数据,转换为整型数据,无法将包含小数点的数据转换为整数,故此题错误。 Python表达式"10" * 2的值为20。【答案】错误× 【解析】本题主要考察Python中不同数据类型进行运算时的规则;Python中定义字符串型*整型,代表将字符串重复N次,题目中的正确结果应该为"1010"。 Python表达式5 * 3 // 2的值为8,因为15除以2的商为7.5,四舍五入即为8。【答案】错误× 【解析】本题主要考察Python基本运算中算术运算符的使用;//表示求除法运算中的商,所以5*3//2应该为15//2,即15除2的商,结果为7,故此题错误。 在Python语言中,判断语句if可以有多个elif从句,但最多只能有一个else从句。【答案】正确√ 【解析】本题主要考察Python中选择结构中的if...elif...else...结构;本结构可以通过elif设置多个“否则如果”的条件,当所有条件不满足时,程序会执行else中的语句,此结构中只能有一个else,故此题正确。 在Python中,假如N为正整数,则range( N )与range( 0 , N )等效。【答案】正确√ 【解析】本题考察了for循环结构中,range()的使用;range()函数默认从0开始,故range(N)与range(0,N)效果相同。 Python代码print( "19" + "49" )执行后将输出1949。【答案】正确√ 【解析】本题考察了基本数据类型中字符串的拼接操作;Python中定义两个字符串相加时,代表两个字符串进行拼接,故此题正确。 三、编程题(每题25分,共50分) 1.分数交错加减计算 【问题描述】 分数交错加减计算,形如: 1.利用input()语句输入一个大于1的正整数; 2.计算规则:分母为连续奇数,分子为1,偶数位置相减,奇数位置相加,一直计算到最接近N(含)的奇数分母为止; 3.计算结果四舍五入保留8位小数,仅输出计算结果,没有其他。 【输入描述】 输入一个大于1的正整数,假设输入合规,不考虑不合规情景,如带小数点的数,负数等。 特别提示:常规程序中,输入时好习惯是有提示。考试时由于系统限定,输入时所有input()函数不可有提示信息。 【输出描述】 输出四舍五入保留8位小数。 特别提示:仅输出8位小数,没有其他。 【样例输入1】 100 【样例输出1】 0.78039866 【样例输入2】 1000 【样例输出2】 0.78489816 【题目大意】多项式求和问题,多项式中的每一项分子都为1,每一项分母都比前一项大2,累加(或减掉)每项求出整个多项式的和。 【解题思路】 1. 分析出分子、分母的规律:分子都为1,分母从1开始逐次增加2; 2. 借助for循环,列举N个多项式的值,利用for循环中i的规律表示分母; 3. 设置变量,记录多项式的项数,并设置条件判断项数为奇数或偶数; 4. 创建变量,将N个多项式的值依次在变量中增加或减小; 5. 按要求完成输入和输出。 【样例程序】 Sum = 0 #设置变量Sum存放多项式的和,初始值为0 stepCount = 1 #记录多项式项数,初始值为1 N = int(input())#输入项数总数N for i in range(1, N+1, 2): #控制i值(分母值)为递增的奇数 if stepCount%2 == 0: #项数为偶数时,从Sum中减去该项的值 Sum -= 1/i else: #项数为奇数时,在Sum中增加该项的值 Sum += 1/i stepCount += 1 #项数增加1 print( round( Sum , 8) ) #使用round函数设置指定位数,并输出结果 2.鸡兔同笼 【问题描述】 利用input()语句先后输入两个正整数,分别代表鸡兔的头和脚的总数。其中,兔有四只脚,鸡有两只脚,都只有一个头。 请编写Python代码计算出兔和鸡的数量,输出结果形如“Chicken=15 Rabbit=5”,如没有解则输出“No solution!”。 【输入描述】 分两次输入,第一次输入头的总数,回车后输入脚的总数。 特别提示:常规程序中,输入时好习惯是有提示。考试时由于系统限定,输入时所有input()函数不可有提示信息。 【输出描述】 如果有解,则输出鸡和兔分别数量,形如“Chicken=15 Rabbit=5”Rabbit之前有1个英文半角空格,C和R都为大写。 如没有解则输出“No solution!”,No之后有1个英文半角空格,solution之后有英文半角叹号。 特别提示:注意字母大小写以及空格、叹号等匹配一致。 【样例输入1】 20 50 【样例输出1】 Chicken=15 Rabbit=5 【样例输入2】 20 30 【样例输出2】 No solution! 【题目大意】鸡兔同笼问题,输入鸡兔同笼问题中头和脚的总数,计算并输出鸡和兔子各自的数量,如果存在无解情况,输出无解提示。 【解题思路】 1. 利用循环列举所有鸡和兔子只数的可能性; 2. 根据鸡和兔子头、脚数量的特点,设置条件并判断是否满足条件; 3. 设置变量记录是否找到满足条件的解; 4. 按要求完成输入和输出。 【样例程序】 totalHead = int(input()) #输入头的总数 totalFoot = int(input()) #输入脚的总数 answerCount = 0 #设置变量表示是否有解,初始值为0 for chickenHead in range(totalHead+1): #列举所有鸡的数量的可能性 #根据鸡的数量求出兔子的数量 rabbitHead = totalHead - chickenHead #判断脚的数量是否正确 if rabbitHead * 4 + chickenHead * 2 == totalFoot: #按要求输出正确的解 print(f"Chicken={chickenHead} Rabbit={rabbitHead}") answerCount += 1 #找到正确解后更改变量 if answerCount == 0: #当变量值没变化时,证明没有找到正确的解 print("No solution!") #按要求输出无解提示 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |