【单选题】(每题2分)
1、以下不属于计算机输出设备的有( )。
A、麦克风
B、音箱
C、打印机
D、显示器
正确答案:A
试题解析:麦克风是属于计算机的输入设备。
2、ChatGPT 是 OpenAI 研发的聊天机器人程序,它能通过理解和学习人类的语言来进行对话,还能根据聊天的上下文进行互动,完成很多工作。
请你猜猜看,下面任务中,ChatGPT 不能完成的是( )。
A、改邮件
B、编剧本
C、擦地板
D、写代码
正确答案:C
试题解析:ChatGPT的用途非常广泛,可以用于自然语言处理(NLP)任务,如对话生成、问答系统、文本生成等,但擦不了地板。
3、Python 表达式 2+3**2*3 的值是( )。
A、15625
B、731
C、75
D、29
正确答案:D
试题解析:根据运算符优先级,先进行幂运算,再进行乘法运算,最后加法运算。
4、Python 语句 print(5//2*3,5%2*3)执行后的输出是( )。
A、0 5
B、05
C、6 3
D、63
正确答案:C
试题解析:本题是分别输出两个算式的值,B、D排除,注意//是整除,%是取余,所以答案为6 3。
5、执行 Python 语句 a = int(input())时如果输入 3.14,下述说法正确的是( )。
A、变量 a 将被赋值为整数值 3
B、变量 a 将被赋值为浮点数 3.14
C、变量 a 将被赋值为整数值 4
D、语句执行将报错
正确答案:D
试题解析:a = int(input())为将用户输入的整数字符串转换为整数型数值并赋值给a,若输入3.14,其不为整数所以会报错。
6、下面 Python 代码执行后的输出是( )。
n = 18if n % 3:print(0, end = "#")
else:print(1, end = "#")
if n % 5:print(0)
else:print(1)
A、0#1
B、1#0
C、0#0
D、1#1
正确答案:B
试题解析:n的值为18;
第一个判断条件不满足,执行else输出1#;
第二个判断条件满足,输出0。
7、下面 Python 代码执行后的输出是( )。
tnt = 0for i in range(-50, 50):tnt += iprint(tnt)
A、-50
B、0
C、50
D、100
正确答案:A
试题解析:相当于算-50+(-49)+(-48)+...+49的值,即为-50。
8、下面 Python 代码执行后的输出是( )。
tnt = 0for i in range(10, 2):tnt += iprint(tnt)
A、0
B、3
C、20
D、25
正确答案:A
试题解析:for循环的循环次数为0,所以直接输出tnt的值0。
9、下面 Python 代码执行后的输出是( )。
tnt = 0for i in range(2,6):if i % 2:tnt += iprint(tnt)
A、6
B、8
C、12
D、14
正确答案:B
试题解析:range生成的数中只有3,5除以2的余数不为0,所以答案为8。
10、下面 Python 代码执行后的输出是( )。
n = 10
tnt = 0while n != 0:if n % 3:tnt += nn -= 1print(tnt)
A、18
B、22
C、33
D、37
正确答案:D
试题解析:从10到1的数中,10,8,7,5,4,2,1除以3的余数不为0,所以和为37。
11、下面 Python 代码执行后的描述,正确的是( )。
import turtlefor i in range(10):if i % 2 == 0:turtle.pencolor("red")else:turtle.pencolor("blue")turtle.forward(i*10)
A、有 4 条蓝色线段 5 条红色线段,总计 9 条线段
B、有 4 条红色线段 5 条蓝色线段,总计 9 条线段
C、有 5 条蓝色线段 5 条红色线段,总计 10 条线段
D、有 5 条红色线段 5 条栏色线段,总计 10 条线段
正确答案:B
试题解析:i的值从0到9,其中i为偶数,绘制红色线段(4条);i为奇数绘制蓝色线段(5条)。
12、下面 Python 执行后输出是( )。
import turtlefor i in range(10):turtle.circle(i*10)
A、
B、
C、
D、以上都不正确
正确答案:A
试题解析:将range生成的值乘10作为半径画圆,循环10次,如图A。
13、下面 Python 代码执行后正确的图形是( )。
import turtlefor i in range(5):if i % 2 == 0:turtle.right(90)turtle.pencolor("red")else:turtle.left(90)turtle.pencolor("blue")turtle.forward(10*15-10*i)
A、
B、
C、
D、
正确答案:A
试题解析:当i=0时,执行右转90度(方向向下),绘制红色线段;
当i=1时,执行左转90度(方向向右),绘制蓝色线段;
当i=2时,执行右转90度(方向向下),绘制红色线段;
当i=3时,执行左转90度(方向向右),绘制蓝色线段;
如图A所示。
14、为画出如下所示图形,下面 Python 代码横线处应填入( )。
import turtlefor i in range(5):turtle.penup()turtle.goto(________)turtle.pendown()turtle.circle(40,steps = 4)
A、i*80, 0
B、i*40, 0
C、0, i*80
D、0, i*40
正确答案:A
试题解析:画完一个正方形后需抬笔向右前进80(因圆的半径为40),即将画笔移动到坐标为i*80,0的位置,再落笔完成下一个正方形。
15、为画出如下所示图形,下面 Python 代码横线处应填入( )。
import turtlefor i in range(5):turtle.left(90)turtle.circle(40, ________)turtle.goto(80*(i+1), 0)turtle.left(90)
A、-180
B、-90
C、90
D、180
正确答案:D
试题解析:本题需画一个半径为40,夹角为180度的半圆,所以应填180,表示弧形的角度为180度。
【判断题】(每题2分)
16、计算机硬件主要包括运算器、控制器、存储器、输入设备和输出设备。
正确答案:正确
试题解析:该说法是正确的。
17、诞生于 1958 年的 103 机是中国第一台通用数字电子计算机,比 1946 年在美国诞生的第一台通用电子计算机 ENIAC 晚了十多年。
正确答案:正确
试题解析:题目描述的是正确的。
18、在 Python 代码中变量 n 被赋值为正整数,则表达式 print(n % 10)的值为正整数 n 的个位数。
正确答案:错误
试题解析:print函数没有返回值,问题为表达式的值为多少所以错误,若为问n%10的值则正确。
19、Python 语句 print(2,3,sep="#",end="->")中的 sep 和 end 先后顺序不能改变。
正确答案:错误
试题解析:函数的参数若指定参数名则可以改变位置,若未指定则参数位置为默认位置。
20、Python 函数 input()可以输入字符串、整数、浮点数等。
正确答案:错误
试题解析:input()的输入只能是字符串。
21、Python 表达式 int("10"*2)+10 的值为整数 30。
正确答案:错误
试题解析:"10"*2结果为"1010",再将其转换为整数型1010后加10,结果为1020。
22、在 Python 中,通常可以用 while 模拟实现 for-in 循环,但 for-in 未必能模拟实现 while循环。
正确答案:正确
试题解析:题目表述正确。for-in循环的次数固定,而while循环的次数不固定。
23、在 Python 代码中,可以将变量命名为 print,虽然 print 是输出函数名称,但该变量命名非常不好。
正确答案:正确
试题解析:题目表述正确,print不是关键字,可以作为变量名,但应尽量避免使用,容易和print函数产生混淆。
24、以下 Python 代码将绘制一个红色填充的圆。
import turtle
turtle.fillcolor("red")
turtle.circle(20)
正确答案:错误
试题解析:填充圆形,需要使用begin_fill()和end_fill()函数。
25、Python 代码 turtle.forward()执行后,不改变海龟朝向。
正确答案:正确
试题解析:此函数为指定海龟前进的距离,方向为海龟的朝向,所以并不改变朝向
【编程题】
26、(本题25分)【问题描述】
小明在为自己规划学习时间。现在他想知道两个时刻之间有多少分钟,你能通过编程帮他做到吗?
【输入描述】
输入 4 行,第一行为开始时刻的小时,第二行为开始时刻的分钟,第三行为结束时刻的小时,第四行为结束时刻的分钟。
输入保证两个时刻是同一天,开始时刻一定在结束时刻之前。时刻使用 24 小时制,即小时在 0 到 23 之间,分钟在 0 到 59 之间。
【输出描述】
输出一行,包含一个整数,从开始时刻到结束时刻之间有多少分钟。
【样例输入1】
9
5
9
6
【样例输出1】
1
【样例输入2】
9
5
10
0
【样例输出2】
55
参考程序:
h1 = int(input())
m1 = int(input())
h2 = int(input())
m2 = int(input())print(h2*60+m2-h1*60-m1)
27、(本题25分)【问题描述】
(1)累计相加,形如:1+(1+2)+(1+2+3)+(1+2+3+4)+……+(1+2+3+4+5+……+n);
(2)利用 input()语句输入一个大于 1 的正整数;
(3)观察后一项与前一项的关系;
【输入描述】
输入一个大于 1 的正整数,假设输入合规,不考虑不合规情景,如带小数点的数,负数等;
特别提示:常规程序中,输入时好习惯是有提示。考试时由于系统限定,输入时所有 input()函数不可有提示信息。
【输出描述】
输出累计相加的结果
【样例输入1】
3
【样例输出1】
10
【样例输入2】
4
【样例输出2】
20
【样例输入3】
10
【样例输出3】
220
参考程序:
#计算:1+(1+2)+(1+2+3)+(1+2+3+4)+......+(1+2+3+4+......+n)N = int(input())
allTnt = 0 #保存全部序列之和
subTnt = 0 #保存子序列之和for i in range(1, N + 1):subTnt += iallTnt += subTntprint(allTnt)