内容正文:
第四章 程序设计基础
一、选择题
1.函数range(5)可以生成( )结果。
A.5 B.[1,2,3,4,5] C.[0,1,2,3,4] D.[0,1,2,3,4, 5]
2.在Python中运行下列程序,输出结果为( )
for i in range (1,6):
print(‘*’ )
print(‘-’ )
A.*****- B.*-*-*-*-*- C.******- D.*-*-*-*-*-*-
3.居民身份证号码由6位地址码、8位出生日期码、3位顺序码和1位校验码组成。倒数第2位是性别代码,奇数代表男,偶数代表女。其格式如图所示:
列表IDlist存储了某校所有学生身份证号码,如要分别统计1-12月份出生的人数,Python程序代码如下:
count=[0] * 12
for i in ______:
mon=int(i[10:12]) #从身份证中提取月份
______
for i in range(12):
print(i+1,“月份人数为”,count[i])
为实现上述功能,划线处自上而下依次填入的代码是:
①IDlist
②range(len(IDlist))
③count[mon-1]+=1
④count[mon]+=1
代码顺序正确的是( )
A.②③ B.②④ C.①④ D.①③
4.下面两组python程序的执行结果分别为( )
A.1 39 B.1 40 C.1 49 D.1 60
5.函数round(6.88,1)的返回值是( )
A.6 B.7 C.6.8 D.6.9
6.有如下Python程序段:
def f(x,list):
rank=1
for i in list:
if i>x:
rank+=1
return rank
score=[100,95,98,98,94,89,80]
for i in score:
print(f(i,score),end="")
运行该程序段后,输出的结果是( )
A.0311456 B.1423567 C.0312456 D.1422567
7.有如下程序段:
from random import randint
a = [0] * 5
for i in range(5):
a[i] = randint(0,5) * 2 + 1
#randint(0,1)产生[0,1]的随机整数
for i in range(5):
if a[i] <= a[i-1]:
a[i-1] += 1
else:
a[4] += 1
print(a)
执行该程序段后,变量a的值不可能的是( )
A.[2,2,2,1,3] B.[4,4,4,4,4] C.[1,3,7,9,16] D.[1,10,9,12,10]
8.下面表达式正确,且值为真的是( )
A.3+2>3+5 B.7<5 C.5<10 D.A,B,C全错
9.在 Python语言中,运行以下程序得到的结果是( )
m= 19
if m>=30 or m<20:
print(m)
A.20 B.19 C.0 D.空
10.有千位和百位未知的5位整数“9**65”,能被37或67整除。以下Python程序段的功能是:在满足条件的所有数中,将最大的一个5位数显示出来。
i=100
while i>0:
print(j)
方框中的代码由以下代码中的三部分组成
①i-=1 ②i+=1 ③j=90065+i*100 ④if(j%37)*(j%67)==0:break ⑤ifj%37!=0orj%67!=0:continue下列选项中,代码顺序正确的是( )
A.④③① B.②③④ C.①③④ D.①③⑤
11.运行下列程序后,函数f(4)的值为( )
A.3 B.10 C.1 D.6
12.下列程序的输出结果是( )
y=1
for x in range(1,5):
y=y*x
print(y)
A.120 B.24 C.15 D.10
13.利用列表模拟某单向非循环链表a(其中可能存在已被删除的节点),下列程序运行完毕后,变量p肯定表示尾节点的节点位置的是( )
A. B. C. D.
14.下列可以作为Python变量名的是( )
A.3b B.space line C.apple_1 D.for
15.执行下列语句后的结果是什么( )
a="123"
print("123"+a)
A.123123 B. "123" 123 C.123+123 D.语法错误
16.BMI指数,简称体质指数,是国际上常用的衡量人体胖瘦程度以及是否健康的一个标准。计算公式为:BMI=体重(千克)÷身高(米)的平方。用变量w表示体重(单位:千克),h表示身高(单位:厘米),下列计算模型合理的是( )
A.w/h*h B.w//h**2 C.w/(h//100)**2 D.w/(h/100)**2
17.下面是“打印矩形.py”,正确答案是( )
(1)请填空完善该程序,实现功能:按程序提示依次输入行和列的数字,则按行列打印由“*”组成的矩形。例如,按提示输入:
A.①int(input(“请输入列数:“)) ②a+1 ③in range(b) ④’*’
B.①int(input(“请输入行数:“)) ②a+1 ③in range(b+1)④’**’
C.①int(input(“请输入列数:“)) ②a ③in range(b) ④’*’
D.①int(input(“请输入列数:“)) ②a ③in range(b+1)④’**’
18.Python表达式中,可以使用( )控制运算的优先顺序。
A.圆括号() B.方括号[] C.大括号{} D.尖括号<>
19.运行下列 Python程序,结果正确的是( )
a=32
b=14
c=a//b
print(c)
A.2.2 B.2 C.“2” D.4
20.有如下Python程序段:
s="PYTHON"
ch=""
i=0
while i<len(s):
n=int(input("请输入数字:"))
t=(n+1)%6
ch=ch+s[t]
i=i+1
print(ch)
运行程序后,依次输入3、1、4、5、2、6,输出ch的值是( )
A.THONPY B.OTNPHY C.YPNOHT D.TOPHNY
试卷第1页,共3页
试卷第1页,共3页
学科网(北京)股份有限公司
参考答案:
1.C
【详解】本题主要考查Python函数。range(start, stop, [step]),start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5;step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)。故函数range(5)可以生成[0,1,2,3,4]结果,故本题选C选项。
2.A
【详解】本题主要考查Python程序的执行。range(start, stop, [step]),start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5;step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)。for循环执行完,输出“*****”,print(‘-’ )执行完,输出结果是*****-,故本题选A选项。
3.C
【详解】本题主要考查Python程序的执行与调试。列表IDlist存储了某校所有学生身份证号码,第一空依次遍历列表IDlist,故填IDlist。由第二个for循环可知,count[i]中保存的是i+i月份的人数,因此第二空填count[mon-1]+=1,故本题选C选项。
4.C
【详解】本题主要考查Python程序的执行。第一个程序,执行一次if语句,此时s=0+1=1,执行break退出for循环,故执行结果是1;第二个程序,当s<40时,执行if语句后,执行continue进入下一轮循环,故s=s+i=0+1+3+5+8+2+4+7+9+10=49,以后的循环不再执行if语句,故执行结果是49,故本题选C选项。
5.D
【详解】本题考查Python函数相关内容。在Python中,round()函数是一个内置的数学函数,用于对浮点数进行四舍五入,它可以将一个浮点数四舍五入到指定的小数位数。函数round(6.88,1)的返回值是6.9,故本题答案是D选项。
6.D
【详解】本题考查Python程序设计相关内容。分析程序段,其功能是对列表内每一个元素,统计列表内大于等于该元素的元素个数。第一个元素是100,列表score内大于等于100的元素个数有1个;第二个元素是95,列表score内大于等于95的元素个数有4个;...;第七个元素是80,列表score内大于等于80的元素个数有7个。输出结果为:1422567。故本题答案为D选项。
7.B
【详解】本题考查的是Python随机函数及循环语句。由a[i] = randint(0,5)*2+1可知生成的是1~11的奇数。如果列表a中后面的数不大于前一个数,则前一个数加1,否则a[4]加1,选项B中列表值[4,4,4,4,4],由前4个数都是偶数,可知i=1、2、3、4肯定是执行了加1的操作故原列表a前4个数为[3,3,3,3],i=0时,肯定要执行一次a[4]加1(a[4]=4为偶数),即a[0] <= a[-1](a[-1]即为a[4])不成立,原a[0]=3,故原a[4]只能是1(列表值是1~11的奇数),a[4]加1后为2与4不符合,故选项B不可能。
8.C
【详解】本题考查关系表达式。选项A,3+2>3+5,逻辑假。选项B,7<5,逻辑假。故正确答案为C。
9.B
【详解】本题考查的是Python选择语句。m=19,满足m>=30 or m<20,执行 print(m),输出19,故本题应选B。
10.C
【详解】本题考查Python程序设计相关内容。由题意可知,要找出满足条件的最大数,则应从“9**65”可以构成的最大数开始进行判断,若不符合要求,再递减1去判断。“9**65”最大数为99965,分析程序,i初值为100,若要参与相关运算,则i值应从99开始,故方框中的第一条代码应该是:i-=1。将“9**65”与i结合起来构成5位数的方法是:90065+i*100,有了明确的五位数,才能去执行判断操作,故方框中的第二条代码应该是:j=90065+i*100。由99965起判断其是否符合题意,需要进行判断,判断条件为:if(j%37)*(j%67)==0,满足该条件说明已经找到最大数,应结束循环,故方框中的第三条代码应该是:if(j%37)*(j%67)==0:break。对照代码序号及选项,本题答案是C选项。
11.B
【详解】本题考查Python程序。函数f(n)定义了一个递归的过程,当输入为1时返回1,否则返回n与f(n-1)的和。对于f(4),根据函数定义,可以展开为4 + f(3)、4 + 3 + f(2)、4 + 3 + 2 + f(1)。在这个过程中,每次递归调用都会减小输入的值,直到达到基本情况n=1。因此,f(4)的值为4 + 3 + 2 + 1 = 10。故答案为:B。
12.B
【详解】本题主要考查Python循环结构的应用。变量x依次取1~4,循环体是y=y*x=1*1*2*3*4=24,故输出结果是24,故本题选B选项。
13.B
【详解】本题主要考查链表数据结构的应用。选项A执行完,变量p表示尾节点的指针域,即-1;选项B执行完,变量p表示尾节点的节点位置;选项C执行完,变量p表示尾节点的前一个节点位置;选项D中,如果存在已被删除的节点,则变量p不一定表示尾节点的节点位置,故本题选B选项。
14.C
【详解】本题主要考查Python变量的命名。变量的命名规则有:只能以字母或下划线开头,不能包含特殊符号,不能是关键字。可以作为Python变量名的是apple_1,故本题选C选项。
15.A
【详解】本题主要考查Python字符串的运算。字符串相加运算,即将两个字符串进行拼接,因此执行下列语句后的结果是123123,故本题选A选项。
16.D
【详解】本题考查Python表达式相关内容。依据Python算术运算符及表达式知识,身高(米)的平方可以表示为:(h/100)**2,由BMI计算公式可得:w/(h/100)**2,故本题答案是D选项。
17.C
【详解】本题主要考查Python程序的执行与调试。类比a的输入,①处输入列数b,即int(input(“请输入列数:“))。通过嵌套for循环输出内容,外层循环控制行,内层循环控制列,range(start, stop, [step]),start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5;step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)。故②处填a,③处填in range(b)。内循环每次输出一个“*”,即④处填’*’,故本题选C选项。
18.A
【详解】本题考查Python运算顺序相关的知识点
Python表达式中,可以使用圆括号()控制运算的优先顺序。故本题选A选项
19.B
【详解】本题主要考查Python程序运行。a=32,b=14,c=a//b=32//14=2(“//” 取整),故本题选B选项。
20.B
【详解】本题考查Python程序的执行。依次输入3、1、4、5、2、6,执行t=(n+1)%6后对应t的值依次是4、2、5、0、3、1,将索引为t的元素s[t]依次拼接到变量ch中,得到ch的值是OTNPHY。故选B。
答案第1页,共2页
答案第1页,共2页
学科网(北京)股份有限公司
$$