首页 > 编程语言 >2024年06月中国电子学会青少年软件编程(Python)等级考试试卷(一级)答案 + 解析

2024年06月中国电子学会青少年软件编程(Python)等级考试试卷(一级)答案 + 解析

时间:2024-09-14 16:26:34浏览次数:12  
标签:turtle 06 正确 Python 2024 答案 解析 True

青少年软件编程(Python)等级考试试卷(一级)

分数:100  题数:37

一、单选题(共25题,共50分)

1. 在使用turtle绘制图形时,如果要控制小海龟移动到 x 坐标为 200,y 坐标为150 的位置,以下代码能够实现效果的是?( )

A. turtle.go(150, 200)

B. turtle.go(200, 150)

C. turtle.goto(150, 200)

D. turtle.goto(200, 150)

正确答案:D

答案解析:本题考察的是 turtle 的 goto 语句,goto 语句的第一个参数是 x 坐标,第二个参数是 y 坐标,所以答案是 turtle.goto(200, 150) 。

2. 下列关于Python程序设计语言的说法,错误的是?( )

A. Python 是一门面向对象的编程语言

B. Python 程序文件后缀是 .py

C. Python 程序只能在 IDLE 上运行

D. Python 程序支持多种操作系统

正确答案:C

答案解析:本题考察的 Python 编程基础,Python 不只能够在 IDLE 上运行,还可以在 Pycharm 等软件上运行。

3. 在Python中,使用type()函数可以获取参数的数据类型,那么运行type("int")的运行结果是?( )

A. <class 'int'>

B. <class 'str'>

C. <class 'float'>

D. <class 'bool'>

正确答案:B

答案解析:type()函数可以返回传入参数的数据类型,本题中"int"是一个字符串,并非是整数数据类型,故运行结果是<class 'str'>。

4. 使用下列哪一项可以导入turtle画图模块?( )

A. import turtle

B. import Turtle

C. turtle import

D. import turtle.Turtle

正确答案:A

答案解析:使用import去导入工具箱,画图模块的英文是turtle,故正确导入应为import turtle,A选项正确。

5. 使用turtle.circle(4,360,6)绘制的是什么图形?( )

A. 半径为4的圆

B. 半径为360的圆

C. 六边形

D. 正方形

正确答案:C

答案解析:circle()方法,第一个参数为半径,第二个参数为绘制的角度,第三个参数为绘制的边数,故实际绘制出的是半径为4的圆的内接六边形,C选项正确。

6. 下列表达式的结果最大的是?( )

A. 20%4

B. 20**2

C. 20*4

D. 20//4

正确答案:B

答案解析:%表示求余运算,20%4结果是0;**表示幂运算,20**2结果是400;*表示乘法运算,20*4结果是80;//表示整除运算,20//4结果是5。

7. 程序1

程序2

的运行结果分别是?( )

A. 3  False

B. True  2

C. True  3

D. 3  True

正确答案:A

答案解析:程序1中,5>4是正确的,结果为True,即1,1+2=3,输出a的结果是3;程序2中,“+”运算优先级比“>”高,先计算4+2=6,5>6是错误的,结果为False。

8. 下列关于turtle.circle()和turtle.dot()指令说法正确的是?( )

A. turtle.circle()指令只能绘制圆或者圆弧

B. turtle.circle()的参数为直径,turtle.circle(30)绘制的图形半径为15

C. turtle.dot()指令的作用是绘制圆点

D. turtle.dot()的参数为半径,turtle.dot(30)绘制的图形半径为30

正确答案:C

答案解析:turtle.circle还可以绘制多边形等;turtle.circle()参数为半径,turtle.dot()的参数为直径,作用是绘制圆点。故答案选择C选项。

9. 关于turtle库说法正确的是?( )

①画布的位置是固定的,无法调整

②write()指令可以在画布中添加文字

③goto(100,100)指的是将画笔移动到坐标为(100,100)的位置上

④dot(100)可以绘制出一个半径为100的圆

A. ①②

B. ①③

C. ②③

D. ③④

正确答案:C

答案解析:画布可调整,dot(100)是直径为100,故选②③

10. 在Turtle库中,既可以设置画笔颜色,又可以设置填充颜色的指令是?( )

A. turtle.color()

B. turtle.bgcolor()

C. turtle.pencolor()

D. turtle.fill_color()

正确答案:A

答案解析:turtle.color()这个函数可以接受不同的参数来定义颜色,包括画笔颜色和填充颜色。如果只传入一个参数,那么这个颜色将同时被用作画笔颜色和填充颜色。

11. 假设a="吉祥";b="如意";c="a"+"b";print(c),请问输出结果是?( )

A. 吉祥 如意

B. 吉祥如意

C. ab

D. a+b

正确答案:C

答案解析:变量输出和字符输出不同,在本题目中,c="a"+"b"是字符a和字符b相结合,并不是a变量和b变量结合。

12. 如果你今年的年龄是10周岁,则运行下面的程序,在提示语后面输入10后,c的值为多少?( )

a=input('请输入你的年龄:')

c=a+2

A. 12

B. 102

C. 程序出错

D. '10+2'

正确答案:C

答案解析:input()函数返回的值是字符串类型,根据所给程序可知,字符串类型不可直接与整数类型进行加法运算,所以程序执行c=a+2时会报错:TypeError: can only concatenate str (not "int") to str,故本题正确答案为C。

13. Python中如何计算得到2024除以3的余数?( )

A. 2024%3

B. 2024//3

C. 2024/3

D. 2024\3

正确答案:A

答案解析:%在Python中是取模,也就是取两个相除的余数,2024除以3的余数可以被表示为2024%3,所以正确答案为A。

14. 下列各语句输出结果为True的是?( )

A. print((0>1)or(2>1))

B. print(not 1)

C. print((1>=0)and(1>=2))

D. print(True!=1)

正确答案:A

答案解析:本题考察逻辑运算符与比较运算符的知识点,or的规则为前后运算结果有一个为True,则结果为True,所以A选项输出结果为True。 and的规则为前后运算结果必须都为True,结果才为True,所以C选项输出结果为False。not 1输出结果为False,True!=1输出结果为False,所以正确答案为A。

15. 在Python中,表达式6-3*2的结果是?( )

A. 0

B. 6

C. 12

D. 1

正确答案:A

答案解析:在Python中,运算符的优先级是先乘除后加减。所以,表达式6-3*2的运算顺序是先执行乘法3*2,然后再执行减法。3*2的结果是6,然后再进行减法运算6-6,结果是0。所以,表达式6-3*2的结果是0,选项A是正确的。

16. 在Python中,以下哪个表达式的结果与其他三个不同?( )

A. True and False

B. not False

C. 3<4

D. 4!=5

正确答案:A

答案解析:在Python中,我们可以逐一分析每个表达式的值来确定哪个结果与其他三个不同。

A. True and False

这是一个逻辑与表达式。在Python中,当使用and操作符时,如果两个操作数都为True,则结果为True;否则,结果为False。因此,True and False的结果为False。

B. not False

这是一个逻辑非表达式。在Python中,not操作符用于反转布尔值。因此,not False的结果是True。

C. 3 < 4

这是一个比较表达式,用于判断3是否小于4。显然,3确实小于4,所以这个表达式的结果为True。

D. 4 != 5

这是一个比较表达式,用于判断4是否不等于5。由于4确实不等于5,因此这个表达式的结果为True。

综合以上分析,我们可以得出以下结论:

选项A的结果是False。

选项B、C和D的结果都是True。

因此,选项A(True and False)的结果与其他三个选项不同。

17. 运行下面IDLE中的代码,应使用哪个选项中的功能?( )

A. File中的Open

B. Edit中的Undo

C. Run中的Run Module

D. Options中的Configure IDLE

正确答案:C

答案解析:File中的Open是用来打开文件的;Edit中的Undo是用来撤销编写的内容的;Run中的Run Module是用来运行代码的;Options中的Configure IDLE是用来配置IDLE的。答案为C。

18. 执行下面的代码,打印结果为?(   )

# print('锲而舍之,朽木不折;')

print('锲而不舍,金石可镂。')

A. 锲而舍之,朽木不折;

锲而不舍,金石可镂。

B. 锲而不舍,金石可镂。

锲而舍之,朽木不折;

C. 锲而舍之,朽木不折;

D. 锲而不舍,金石可镂。

正确答案:D

答案解析:因为第1行代码已经被注释掉,所以执行程序时第1行代码不执行。第2行代码会正常执行,打印出“锲而不舍,金石可镂。”。答案为D。

19. 执行代码 print(17 or 39),打印结果为?( )

A. True

B. False

C. 17

D. 39

正确答案:C

答案解析:在Python中,非0的整数被当做布尔值使用时,表示True。当“or”左侧为True或非0数字时,表达式的结果也为True或非0数字;当“or”左侧为False或0时,表达式的结果和“or”右侧部分的结果一致,右侧部分是数字时,表达式结果也为数字。答案为C。

20. 阿明在一条小河边取水,他有两个水桶,一个红色一个绿色。红色水桶的容量是6升,绿色水桶的容量是7升。阿明想在红色水桶中正好装入5升水,他该怎么做呢?下面给出了八项操作,选择其中的一部分就能在红色水桶中正好装入5升水。哪个选项中的操作顺序能够达到目标?( )

① 将红色水桶装满;

② 将绿色水桶装满;

③ 第二次将红色水桶装满;

④ 第二次将绿色水桶装满;

⑤ 将红色水桶中的水全部倒入绿色水桶;

⑥ 将绿色水桶中的水全部倒入红色水桶;

⑦ 将红色水桶中的水倒入绿色水桶,直到绿色水桶装满;

⑧ 将绿色水桶中的水倒入红色水桶,直到红色水桶装满;

A. ②①⑦③

B. ①⑤⑧④

C. ②⑧④⑤

D. ①⑤③⑦

正确答案:D

答案解析:先将红色水桶装满,此时红色水桶中有6升水;将红色水桶中的水全部倒入绿色水桶,此时绿色水桶中有6升水并有1升的空余空间,红色水桶已空;第二次将红色水桶装满,此时红色水桶中又有了6升水;将红色水桶中的水倒入绿色水桶,直到绿色水桶装满,此时从红色水桶向绿色水桶中倒了1升水,红色水桶中正好剩余5升水。答案为D。

21. 下面哪个选项的代码,可以画出一个直径为80的红色空心圆形?( )

A.

import turtle

turtle.color('red')

turtle.circle(40)

B.

import turtle

turtle.color('red')

turtle.dot(80)

C.

import turtle

turtle.color('red')

turtle.begin_fill()

turtle.circle(40)

turtle.end_fill()

D.

import turtle

turtle.pencolor('red')

turtle.begin_fill()

turtle.dot(80)

turtle.end_fill()

正确答案:A

答案解析:首先使用import turtle导入了 turtle 图形库, 再用turtle.color('red')设置画笔颜色为红色, 再用turtle.circle(40)绘制一个半径为40的圆形, 就得到了一个半径为40,直径为80的空心圆。

22. print("16+2")输出的结果是?( )

A. "16+2"

B. 18

C. 162

D. 16+2

正确答案:D

答案解析:"16+2" 是一个字符串,所以使用 print()语句会直接打印,print()打印在终端区的内容不会带引号。

23. 下面哪个选项可以作为 Python 的变量名?( )

A. for

B. if

C. else

D. Break

正确答案:D

答案解析:Python 区分大小写,Break 是一个合法的变量名,而 for、if、else 都是 Python 中的关键字,不能用作变量名。

24. 以下运算符中,运算优先级最高的是?( )

A. <=

B. or

C. ==

D. %

正确答案:D

答案解析:此题考查运算符优先级,这四个运算符优先级最高的是%,其次是<=,再其次是==,最后是or,故答案选D。

25. 已知变量a=8,b=7,执行语句a*=a-b后,变量a的值为以下哪一个?( )

A. -8

B. 8

C. -7

D. 7

正确答案:B

答案解析:a*=a-b等效于a=a*(a-b),代入变量值计算后答案为B。

二、判断题(共10题,共20分)

26. Python无论在哪个编译器中编写代码,编写完一行代码后,回车就会马上运行出现输出结果。( )

正确答案:错误

答案解析:本题考察的 Python 编程环境,只有在 IDLE 命令行模式中是一行一行运行的。

27. toy = '足球' 这句代码中,toy 是变量的名字。( )

正确答案:正确

答案解析:本题考察的变量的创建,在 Python 中,赋值符号 (=) 左边的是变量的名字,右边的是变量的内容。

28. 运行str(49)的结果是'49'。( )

正确答案:正确

答案解析:str()方法,会将方法中的参数转换为字符串类型,故运行str(49)的结果是'49',本题说法正确。

29. 以下Python语句的运行结果是“hello world”。( )

print(“hello”,end=‘  ’)

print(“world”)

正确答案:正确

答案解析:

end=‘  ’,表示输出当前行的所有内容后,在末尾加一个空格,不换行接着输出

下一个print()的输出对象,所以本题hello和world在同一行输出,中间用空格隔开。

30. 在Python编程中,input()为输入函数,在输入数据时,可以将输入数据直接显示到控制台。( )

正确答案:错误

答案解析:input()函数不可以将数据直接显示到控制台,需使用print()函数进行打印输出。

31. 在Python中允许同时为多个变量进行赋值,故赋值语句:a,b,c = 1,2,3,4是正确的。( )

正确答案:错误

答案解析:Python中允许同时为多个变量进行赋值,但要注意变量和对象的数量要一致,赋值语句中变量和对象数量不一致。

32. Python3的代码可以直接在Python2上运行。( )

正确答案:错误

答案解析:这道判断题是不正确的。Python 3的代码通常不能直接在Python 2上运行,因为Python 3和Python 2之间存在一些显著的语法差异、库的变化以及API的修改。

33. 在Python中,and、or、True和False都是保留字。( )

正确答案:正确

答案解析:在Python中,and、or、True和False都是保留字,题目中的说法是正确的。

34. hideturtle() 可以将画笔移动到起始位置。( )

正确答案:错误

答案解析:hideturtle() 语句的作用是在屏幕中隐藏画笔,移动到起始位置的方法是 home()

35. turtle库中,turtle.begin_fill()和turtle.end_fill()必须成对使用。( )

正确答案:正确

答案解析:turtle.begin_fill()是准备开始填充图形,turtle.end_fill()是填充完成,两者成对使用完成图形的填充。

三、编程题(共2题,共30分)

36. 绘制图形

要求:

(1)绘制如图所示图形,圆的中心为坐标原点(0,0);

(2)已知圆半径100,右边为红色(red),左边为黄色(yellow);

(3)画笔的粗细为5,画笔黑色,画笔速度设置为5;

(4)画笔最终回到坐标原点并隐藏。

友情提示:

1、考试平台暂不支持画笔命名:Pen()命令,同学们可以选用其他命令;当然如果使用了Pen()命令,只要程序是正确的,阅卷时依然按照正确处理。

2、平台生成图片时会部分遮挡中间竖线颜色,属于平台问题,不扣分。

正确答案:

参考程序:

import turtle

turtle.pensize(5)

turtle.speed(5)

turtle.fillcolor("red")

turtle.begin_fill()

turtle.goto(0,-100)

turtle.circle(100,180)

turtle.goto(0,-100)

turtle.end_fill()

turtle.fillcolor("yellow")

turtle.begin_fill()

turtle.goto(0, -100)

turtle.circle(-100, 180)

turtle.goto(0, -100)

turtle.end_fill()

turtle.home()

turtle.hideturtle()

turtle.done()

答案解析:

评分标准:

(1)导入库文件正确;(2分)

(2)有移动命令;(2分)

(3)有填充颜色指令;(2分)

(4)有画圆工具;(2分)

(5)画笔速度2分,画笔粗细2分,回到原点并隐藏2分,填充颜色正确2分(各1分);(8分)

(6)图形正确;(2分)

(7)运行正常。(2分)

绘制中的填充颜色不正确,不扣除第六项分值,只扣除第5项中的填充颜色分值。

37. 购物计算

小明去体育商店买东西,一共带了x元。他买了一个价格为a元的乒乓球拍,接着用剩下钱全买了乒乓球,乒乓球价格为b元。请问他买了几个乒乓球?

要求:

(1)用键盘输入总共带了多少钱;

(2)用键盘输入乒乓球拍的价格;

(3)用键盘输入乒乓球的价格;

(4)根据输入计算小明买了几个乒乓球;

(5)输出买乒乓球的数量。

输入样例:

总共带了多少元:50

球拍的价格是多少元:30

乒乓球的单价是多少元:5

输出样例:

乒乓球的数量是:4

友情提示:

由于考试平台暂不支持eval()命令,同学们可以选用其他命令;当然如果您使用了,只要程序是正确的,我们阅卷时依然按照正常处理。

正确答案:

参考程序:

x = int(input('总共带了多少元:'))

a = int(input('球拍的价格是多少元:'))

b = int(input('乒乓球的单价是多少元:'))

num = (x - a) // b

print('乒乓球的数量是:', num)

答案解析:

评分标准:

(1)有输入语句;(2分)

(2)有输出语句;(2分)

(3)有类型转化语句,并且所有类型转换正确,否则该项分数为0;(2分)

(4)有计算语句,并且计算正确,如果计算错误该项分数为0;(2分)

(5)程序符合题目要求,运行正确。(2分)

标签:turtle,06,正确,Python,2024,答案,解析,True
From: https://blog.csdn.net/qq_33897084/article/details/142261367

相关文章

  • 第158天:安全开发-Python-Socket编程&反弹Shell&分离免杀&端口探针&域名爆破
    前置知识使用socket模块1.导入模块首先,你需要导入Python的socket模块。importsocket2.创建套接字使用socket.socket()函数创建一个新的套接字。这个函数可以接收两个参数:地址族和套接字类型。   地址族(AddressFamily):AF_INET用于IPv4,AF_INET6用于IP......
  • Python存储与读写二进制文件
    本文介绍了一种在Python中将Numpy数组转存为一个紧凑的二进制格式的文件,及其使用内存映射的形式进行读取的方案。一个二进制的数据流,不仅可以更加方便页形式的内存映射,相比于传统的Numpy单精度浮点数数组还有一个可哈希的特性。总体来说是一个对于高性能计算十分友好的存......
  • 避免 PyCharm 将该 Python 脚本作为测试运行
    为了避免PyCharm将该Python脚本作为测试运行(即pytest自动捕获),你可以做以下几步来确保该脚本作为普通的Python程序执行,而不是作为pytest运行。解决方案:1.确保文件名不以test_开头:Pytest会自动检测以test_开头的文件,并尝试将其作为测试运行。如果你的文件名是test_m......
  • typer python cli 开发框架
    typer是一个基于pythontypehints的快速强大的cli开发框架,由fastapi框架的作者开发,是一个很不错的工具包含的特性使用简单简单支持开发复杂cli可以执行运行script参考使用安装python-mvenvvenvsourcevenv/bin/activatepipinstalltyper简单使用defmain(name:str):......
  • 都2024年了,该用新的方法来实现css中的垂直居中啦!
    最近,css新增了一个新的属性,来实现内容的垂直居中方法。那就是:align-content:center;  没错,一行属性直接搞定!(不过得注意的是,这个属性还存在浏览器的兼容性,在上线前得多测试下哈!)align-content:center;//实现垂直居中,注意:此属性支持Chrome:123, Firefox:125,Safari:17.4......
  • LeetCode189. 轮转数组(2024秋季每日一题 16)
    给定一个整数数组nums,将数组中的元素向右轮转k个位置,其中k是非负数。示例1:输入:nums=[1,2,3,4,5,6,7],k=3输出:[5,6,7,1,2,3,4]解释:向右轮转1步:[7,1,2,3,4,5,6]向右轮转2步:[6,7,1,2,3,4,5]向右轮转3步:[5,6,7,1,2,3,4]示例2:输入:nums=[-1,-100,3......
  • LeetCode238. 除自身以外数组的乘积(2024秋季每日一题 17)
    给你一个整数数组nums,返回数组answer,其中answer[i]等于nums中除nums[i]之外其余各元素的乘积。题目数据保证数组nums之中任意元素的全部前缀元素和后缀的乘积都在32位整数范围内。请不要使用除法,且在示例1:输入:nums=[1,2,3,4]输出:[24,12,8,6]示例2:输......
  • LeetCode53. 最大子数组和(2024秋季每日一题 15)
    给你一个整数数组nums,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组:是数组中的一个连续部分。示例1:输入:nums=[-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组[4,-1,2,1]的和最大,为6。示例2:输入:nums=[1]输出:1示例3:输入:nums=[5,4,-1......
  • LeetCode56. 合并区间(2024秋季每日一题 16)
    以数组intervals表示若干个区间的集合,其中单个区间为intervals[i]=[starti,endi]。请你合并所有重叠的区间,并返回一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。示例1:输入:intervals=[[1,3],[2,6],[8,10],[15,18]]输出:[[1,6],[8,10],[15,18]]解释:区间[1,3]......
  • LeetCode76. 最小覆盖子串(2024秋季每日一题 14)
    给你一个字符串s、一个字符串t。返回s中涵盖t所有字符的最小子串。如果s中不存在涵盖t所有字符的子串,则返回空字符串“”。注意:对于t中重复字符,我们寻找的子字符串中该字符数量必须不少于t中该字符数量。如果s中存在这样的子串,我们保证它是唯一的答案。示例1......