全国计算机等级考试二级Python真题及解析(9)优质
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
全国计算机等级考试二级Python真题及解析(9)优质
一、选择题
1.在Python Shell环境下,依次执行下列语句后,显示结果()。
data=[172,9,165,29,156,21]
max(data)
A.9 B.165 C.172 D.21
2.以下文本框内是一段用Python程序设计语言编写的源代码,功能是输出200以内能被17整除的最大正整数。
这段源代码属于()。
A.程序B.软件C.指令D.命令
3.在Python中,用变量code存储学生的借书卡编码,例如:code=“NO.2020100502”,则变量code的数据类型应定义为()
A.布尔型B.整型C.字符串型D.浮点型
4.王明录入程序代码并运行,出现错误提示(如下图所示),分析原因并改错,正确的是()
A.变量名1w太短B.应该写成float(input("输入体重(kg):")=1w
C.将float改为int D.变量名1w不符合 Python语言规范,不能以数字开头
5.在Python中,实现多分支选择结构的较好方法是()。
A.if B.if-else C.if-elif-else D.if嵌套
6.在python中,运行下列程序,正确的结果是()。
A.i=4 s=10 B.i=5 s=10 C.i=5 s=15 D.i=6 s=15
7.下列选项中,不能作为python程序变量名的是()
A.abc B.abc123 C.123abc D.abc__123
8.下列不可以用来搭建本地服务器的软件是()。
①Python ②Excel ③IIS ④Apache
A.①②B.③④C.①②③④D.①②④
9.在python中,运行下列程序,正确的结果是()
x=1
while x>0:
x=x+1
print( x)
A.1 B.1 2 3 4 5 6 7 8 9…………………
C.无输出D.100
10.在python中,运行下列程序,正确的结果是()
s=0
for i in range (1,5):
s=s+i
print("i=",i,"s=",s)
A.i=4 s=10 B.i=5 s=10 C.i=5 s=15 D.i=6 s=15
11.下列Python表达式中,能正确表示不等式方程|x|>1解的是()
A.x>1 or x<-1 B.x>-1 or x<1 C.x>1 and x<-1 D.x>-1 and x<1 12.python的命令行提示符是()
A.### B.>>> C./// D.C:》
13.在教科书中利用Python探究电流和电压、电阻的关系实验里,除了可以通过书中的Jupyter Notebook外,处理数据还可以通过下列()工具实现。
A.Python IDLE B.Xmind C.网络画板D.几何画板14.Python中,赋值语句,“c=c-b”等价于()
A.b-=c
B.c-b=c
C.c-=b
D.c==c-b
15.在Python中要交换变量a和b中的值,应使用的语句组是()。
A.a,b=b,a B.a=c;a=b;b=c
C.a=b;b=a D.c=a;b=a;b=c
二、程序填空
16.请编写Python程序,实现如下功能需求:
1)程序运行后,给出文字提示:“请输入一个正整数:”
2)输入一个整数n按回车后,程序输出从1-n所有整数中既是3的倍数又是5的倍数的数。
3)不要超过5行代码。
程序运行举例:
17.使用Python自身提供的IDLE集成开发环境录入以下代码及调试
运行,检测结果。
# 鸡兔同笼
for x in range(1,23):
y=35-x
if 4*x+2*y==94:
print("兔子有%s只,鸡有%s只"%(x,y))
特别提示:代码录入完毕,调试运行,检测错误,讨论错误原因,上网查找错误格式的处置办法,直至能正确输出结果。
18.广场上有许多(有数百人)小朋友在玩分组游戏,当他们分成三人一组时,发现最后多出两个;当他们分成五人一组时,发现最后多出三个;当他们分成七人一组时,发现最后多出两个。
编写程序求出这些小朋友的可能人数。
实现上述功能的程序如下,请在程序划线处填入合适的代码。
________
a=[ ]
for i in range(100,1000):
if_____________:
a.append(i)
total + = 1
print("这群小朋友总的人数有:")
for j in range(len(a)):
print(____,end='、')
print('')
print('可能情况数为:',total,'种')
划线处①处应该填入的语句为:;
划线处②处应该填入的语句为:;
划线处③处应该填入的语句为:。
19.求100以内素数。
20.小明设计了一个可以输入日期得到当天是年度第几天的程序,请阅读程序,完成填空(闰年判断规则:能被4整除但不能被100整除或能被400整除,闰年的2月为29天)day=input("请输入年月日(格式举例:2000-01-05):")
year=int(day[:4])
month=_________
sun=int(day[8:10])
print(year,month,sun)
f_run=[31,28,31,30,31,30,31,31,30,31,30,31]
tall_day=0
if ______:
for i in range(month-1):
tall_day +=f_run[i]
__________
else:
for i in range(month-1):
tall_day +=f_run[i]
tall_day += sun
print(day+"是当年的第"+str(tall_day)+"天")
(1)将程序横线处补充完整
(2)如输入“2020-4-19”为当年的第_____天。
21.编写程序,找到并输出100以内的素数。
【参考答案】***试卷处理标记,请不要删除
一、选择题
1.C
【详解】
本题主要考查Python函数。
max当接收的是列表,则返回列表中最大的元素,故执行下列语句后,显示结果172,故本题选C选项。
解析:C
【详解】
本题主要考查Python函数。
max当接收的是列表,则返回列表中最大的元素,故执行下列语句后,显示结果172,故本题选C选项。
2.A
【详解】
本题考查的知识点是程序概念。
程序是指为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合。
程序中包括指令和数据。
软件是指包括所有在电脑运行的程序。
软件=程序+数据+文档。
解析:A
【详解】
本题考查的知识点是程序概念。
程序是指为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合。
程序中包括指令和数据。
软件是指包括所有在电脑运行的程序。
软件=程序+数据+文档。
指令是指示计算机执行某种操作的命令。
一个指令通常由两部分组成:操作码+地址码。
根据它们的定义,可以得出题目中的源代码属于程序。
故A选项正确。
3.C
【详解】
本题考查的是数据类型。
布尔型数据只有两种状态,整型不带有小数点,字符串型含有数字、字母等数据,浮点型带有小数点。
NO.2020100502有数字有字母等,故应定义为字符串型。
选项C正确
解析:C
【详解】
本题考查的是数据类型。
布尔型数据只有两种状态,整型不带有小数点,字符串型含有数字、字母等数据,浮点型带有小数点。
NO.2020100502有数字有字母等,故应定义为字符串型。
选项C正确。
4.D
【详解】
本题考查的是Python的变量名。
在Python中变量名是由数字、字母、下划线组成,且不能以数字开头。
故本题应选D。
解析:D
【详解】
本题考查的是Python的变量名。
在Python中变量名是由数字、字母、下划线组成,且不能以数字开头。
故本题应选D。
5.C
【详解】
本题主要考查多分支选择结构。
多分支选择结构格式:if-elif-else,故本题选C 选项。
解析:C
【详解】
本题主要考查多分支选择结构。
多分支选择结构格式:if-elif-else,故本题选C选项。
6.A
【详解】
本题主要考查Python程序的执行。
for i in range(1,5)可知变量i的范围是1-4,程序运行完,s=s+i=0+1+2+3+4=10,故本题选A选项。
解析:A
【详解】
本题主要考查Python程序的执行。
for i in range(1,5)可知变量i的范围是1-4,程序运行完,s=s+i=0+1+2+3+4=10,故本题选A选项。
7.C
【详解】
本题考查的是python的变量命名。
python的变量名是由数字、字母、下划线组成,并且数字不能打头。
故选项C符合题意。
解析:C
【详解】
本题考查的是python的变量命名。
python的变量名是由数字、字母、下划线组成,并且数字不能打头。
故选项C符合题意。
8.A
【详解】
本题考查服务器的相关知识点
①Python 脚本语言②Excel 处理表格软件③IIS Internet信息服务可以搭建服务器④Apache 可以搭建阿帕奇服务器。
故①②不可
解析:A
【详解】
本题考查服务器的相关知识点
①Python 脚本语言②Excel 处理表格软件③IIS Internet信息服务可以搭建服务器
④Apache 可以搭建阿帕奇服务器。
故①②不可以用来搭建本地服务器。
故选A选项
9.C
【详解】
本题主要考查Python程序的执行。
x>0为真,所以一直做x=x+1语句,print ()语句要在循环结束后再执行此行代码,所以无输出,故本题选C选项。
解析:C
【详解】
本题主要考查Python程序的执行。
x>0为真,所以一直做x=x+1语句,print()语句要在循环结束后再执行此行代码,所以无输出,故本题选C选项。
10.A
【详解】
本题考查Python程序实现。
变量i的范围是从1到4,当i=4时,跳出循环,此时s=0+1+2+3+4=10。
故本题选A选项
解析:A
【详解】
本题考查Python程序实现。
变量i的范围是从1到4,当i=4时,跳出循环,此时s=0+1+2+3+4=10。
故本题选A选项11.A
【详解】
本题主要考查Python表达式。
题干不等式方程可以写成x<-1 或者 x>1,用Python表示是x>1 or x<-1,故本题选A选项。
解析:A
【详解】
本题主要考查Python表达式。
题干不等式方程可以写成x<-1 或者 x>1,用Python表示是x>1 or x<-1,故本题选A选项。
12.B
【详解】
本题主要考查Python命令提示符。
python的命令行提示符是>>>,故本题选B 选项。
解析:B
【详解】
本题主要考查Python命令提示符。
python的命令行提示符是>>>,故本题选B选项。
13.A
【详解】
本题Python相关知识点
IDLE 是 Python 所内置的开发与学习环境,故除了可以通过书中的Jupyter Notebook外,处理数据还可以通过Python IDLE工具实现
解析:A
【详解】
本题Python相关知识点
IDLE 是 Python 所内置的开发与学习环境,故除了可以通过书中的Jupyter Notebook外,处理数据还可以通过Python IDLE工具实现。
故本题选A选项
14.C
【详解】
本题主要考查Python中常用运算符。
Python中“-=”是减法赋值运算符,c -= b 等效于 c = c - b,因此C选项正确。
【点睛】
解析:C
【详解】
本题主要考查Python中常用运算符。
Python中“-=”是减法赋值运算符,c -= b 等效于 c = c - b,因此C选项正确。
【点睛】
15.A
【详解】
本题主要考查Python赋值语句。
选项A可以实现交换变量a和b中的值,其余
选项均不可以实现交换变量a和b中的值,故本题选A选项。
解析:A
【详解】
本题主要考查Python赋值语句。
选项A可以实现交换变量a和b中的值,其余选项均不可以实现交换变量a和b中的值,故本题选A选项。
二、程序填空
16.n=input("请输入一个正整数: ")
n=int(n)
For i in range(15,n+1,15)
print(i)
【详解】
本题考查的是Python循环语句。
range函数,第一个参数表示开始,第二个参数表示停止,第三个参数表示步长。
print缺省的话默认是换行输出。
17.错误1:兔子4只腿,最多只能是23只,而 range(1,23)只取到22,没取到23,故应改为: range(1,24)
错误2:缩进错误,y=35-x、if 4*x+2*y==94:是for语句中的语句块,应缩进。
print("兔子有%s只,鸡有%s只"%(x,y))是if语句中的语句块,应缩进。
【详解】
本题考查的是Python调试。
本题程序错误如下:
错误1:兔子4只腿,最多只能是23只,而 range(1,23)只取到22,没取到23,故应改为: range(1,24)
错误2:缩进错误,y=35-x、if 4*x+2*y==94:是for语句中的语句块,应缩进。
print("兔子有%s只,鸡有%s只"%(x,y))是if语句中的语句块,应缩进。
调试完最终输出:兔子有12只,鸡有23只。
18.total=0i%3 == 2 and i%5 == 3 and i%7 == 2a[j]
【详解】
本题主要考查Python程序的执行与调试。
①变量total用来统计有多少种情况,初始值为0,第一空填total=0。
②当他们分成三人一组时,发现最后多出两个;当他们分成五人一组时,发现最后多出三个;当他们分成七人一组时,发现最后多出两个,即if判断条件为i%3 == 2 and i%5 == 3 and i%7 == 2,满足if条件时,将该值加到列表a中,故第二空填i%3 == 2 and i%5 == 3 and i%7 == 2。
③最后通过for循环输出所有可能的数,用变量j控制,故第三空填a[j]。
19.for i in range(1,100):
if i > 1:
for j in range(2,i):
if (i % j) == 0:
break
else:
print(i)
【详解】
本题主要考查Python程序设计。
可以通过for循环找出100以内的素数,用i依次整数
2~i-1,如果能整除表明i不是素数,否则i为质数,具体代码如下:
for i in range(1,100):
if i > 1:
for j in range(2,i):
if (i % j) == 0:
break
else:
print(i)
20.int(day[5:7]) (year%4==0 and year%100!=0 or year%400==0) and month>=2 tall_day+=1 110
【详解】
本题主要考查Python程序的执行与调试。
①此处是取出字符串day中的月份赋给变量month,month是第5~第6位,str[start:end],start会包含在结果中而end却不会,故此处填int(day[5:7])。
②此处判断是不是闰年,因为闰年的二月有29天,故if判断还要判断当前的月份是不是包含2月即大于等于2月,故此处填(year%4==0 and year%100!=0 or year%400==0) and month>=2。
③如果是闰年且当前日期包括2月,则循环完tall_day需增加1天,故填tall_day+=1。
④输入“2020-4-19”为当年的第110天。
21.参考答案1:
for i in range(2,101):
j=2
while j<=i:
if i%j==0:
break
j+=1
if j<i:
continue
else:
print(i,end=" ")
参考答:2:
for i in range(2,101):
for j in range(2,i):
if(i%j==0):
break
else:
print(i)
【详解】
本题考查是Python语言编程解决问题。
break 语句可以立即终止当前循环的执行,跳出当前所在的循环结构。
无论是 while 循环还是 for 循环,只要执行 break 语句,就会直接结束当前正在执行的循环体。
这就好比在操场上跑步,原计划跑 10 圈,可是当跑到第 2 圈的时候,突然想起有急事要办,于是果断停止跑步并离开操场,这就相当于使用了 break 语句提前终止了循环。
答案中代码的实现过程见下图:
参考答案1:
参考答案2:。