内容正文:
第四章 程序设计基础
学校:___________姓名:___________班级:___________考号:___________
一、选择题
1.回文数是从前往后读和从后往前读都一样的数,例如:123454321为回文数。若将任意一个三位数存储到字符串变量a中,下列语句不能实现回文的是( )
A.new=a+a[2]+a[1]+a[0] B.new=a+a[::-1]
C.new=a+a[-3]+a[-2]+a[-1] D.new=a+a[-1::-1]
2.在Python中,表达式2**3的结果是( )
A.5 B.8 C.6 D.3
3.有如下VB程序段:
flag=True:i=1
Do While i<=6
k=Int(Rnd*99)+1
If k mod 2=1 Or flag Then
a(i)=k
i=i+1
flag=Not flag
End If
L00op
执行该程序段后,在下列选项中,a(1)~a(6)各元素的值可能的是( )
A.15,10,80,29,5,17 B.53,11,99,67,2,57
C.65,41,100,71,33,63 D.63,43,10,69,91,0
4.下列Python表达式的值不相同的是( )
A.Len(“hello”) B.round(4.899)
C.ord(“F”)﹣ord(“A”) D.int(“123456”[5])
5.已知a=1,b=2,c=3,表达式a+b>=c and not c<b-a的运算结果是( )
A.0 B.False C.1 D.True
6.运行以下Python程序段,输入85,输出结果是( )
s=float(input("请输入分数:" ))
if 90<=s<=100:
print("A等第")
elif 75<=s<90:
print("B等第")
elif 60<=s<75:
print("C等第")
elif s<60:
print("D等第")
A.A等第 B.B等第 C.C等第 D.D等第
7.下列python表达式的值是偶数的是( )
A.len(str(123))
B.round(7.34)
C.(-5)**2+8//3*2
D.abs(ord("H")-ord("J"))
8.程序代码如下:
x=1
while x10: x=x+3
print(x)
输出结果是()
A.4,7,10 B.3,6,9
C.3,6,9,12 D.1,4,7,10
9.运行以下Python代码,实现统计列表a中小于60的数的个数,程序划线处应填入( )
a=[12,56,79,90,75,33,29,100,66,1]
n=0
m=60
for i in range(10):
if :
n+=1
print("个数",n)
A.a[i+1]<n B.a[i]<n C.a[i+1]<m D.a[i]<m
10.有如下Python程序段:
import pandas as pd
s1 = pd. Series (["学习", "运动", "睡觉", "吃饭"], index = ["01", "02", "03", "04"])
sl ["03"] = "休息"
bm = s1. index
sub = s1. values
time = [40,90,79,30]
num = [13,2,10,3]
col = ["活动", "时长", "次数"]
data = {"活动": sub, "时长": time,"次数": num}
df1= pd. DataFrame (data, index = bm, columns = col)
print (df1[df1 ["时长"]*df1["次数"]>120])
运行该程序段,输出显示的结果为( )
活动时长次数
A. B.
C. D.
11.如下 Python 程序段:
n=int(input("请输入正整数 n:"))
s=""
while n>0:
t=n%2
s=s+str(t)
n=n//2
print(s)
该部分程序段运行时,输入的值为“12”,则输出的结果是( )
A.0011 B.1011 C.1100 D.11
12.在Python中,小明想编写程序实现交换变量a和b的值,第4行下划线处应该填写( )
1 a=12
2 B=24
3 pring(a,b)
4
5 pring(a,b)
A.a==b B.a,b=b,a C.a=b,b=a D.b<=>a
13.小喆学习Python的字典数据类型后,编写了一个各省(区、市)的简称信息管理程序。下面是程序的部分代码,下列说法错误的是( )
1 jcxx={'北京':'京','上海':'沪','湖南':'湘','广东':'粤','云南':'云'}
2 jcxx['云南']='滇'
3 print(jcxx)
A.字典jcxx中,“京”是键,“北京”是值
B.可以通过print(jcxx['云南'])输出云南的简称
C.jcxx['云南']='滇'的作用是把云南的简称“云”改为“滇”
D.运行该程序后输出结果为:{'北京': '京', '上海': '沪', '湖南': '湘', '广东': '粤', '云南': '滇'}
14.有如下Python程序段:
que=[2,4,6,3,8,5,1,7]
n=len(que)
st=[]
tmp=n
while tmp>0:
a=que.pop(0)
if a==tmp:
st.append(a)
tmp-=1
else:
que.append(a)
print(st)
程序段运行后,输出的结果是( )
A.[8, 7, 6, 5, 4, 3, 2, 1] B.[1, 2, 3, 4, 5, 6, 7, 8]
C.[1, 2, 3, 4, 5, 6, 8, 7] D.[2, 1, 3, 4, 5, 6, 7, 8]
15.下列语句执行输出结果正确的是( )
n=0
x=1
while x<20:
x=x*3
n=n+1
print(x,n)
A.27 3 B.3 27 C.20 3 D.3 21
16.小王在编写好求一元二次方程的根的程序后,调试运行时,程序没有报错且能顺利运行,但不能得到正确结果。造成这个结果的原因是( )
A.算法逻辑或计算方法错误 B.程序语句语法错误 C.程序落后了 D.程序设计窗口没配置
17.某Python程序如下:
d={"A":1,"B":2,"C":3,"D":4,"E":5}
a=d["E"]
b=d["D"]
c=d["B"]
s=a+b+c
print(s)
程序运行后,输出的结果是( )
A.8 B.9 C.10 D.11
18.某Python 程序如下:
s=input("请输入字符串:")
ans=""
a=["1","2","3"]
for c in s:
if "0"<=c<="9":
ans+=a[int(c)%3]
elif "a"<=c<="z":
ans=c+ans
elif "A"<=c<="Z":
ans+=chr(ord(c)+32)
print(ans)
程序运行时,若输入“App7+”,则输出的结果是( )
A.ppa2+ B.app2+ C.ppa2 D.ppA1
19.下列合法的变量名是( )
A.if B.i C.* D.True
20.将某次比赛最后得分用字典存储:dict={"第 1 名":50,"第 2 名":48,"第 3 名":47,"第 4 名":45,"第5名":44,"第6名":42 }。现需要查询第3名成绩,下列表达式正确的是 ( )
A.dict{2} B.dict[2] C.dict{"第3名" } D.dict["第3名"]
试卷第1页,共3页
试卷第1页,共3页
学科网(北京)股份有限公司
参考答案:
1.C
【详解】本题考查Python基础。
若a="123",a+a[-3]+a[-2]+a[-1]取到的结果是拼接字符变量a和变量a的倒数第三个字符、倒数第二个字符、倒数第一字符。则选项C得到的是new="123123"。故正确答案为:选项C。
2.B
【详解】本题主要考查Python基本运算符。“**”是幂运算,x**y为返回x的y次幂,因此B选项正确。
【点睛】
3.B
【详解】本题主要考查VB程序的调试。k=Int(Rnd*99)+1(k是随机生成[1,99]之间的整数),flag初始值为True,如果k是奇数或者flag值为真时,执行a(i)=k,i=i+1,flag=Not flag,故第一遍循环后,flag=False;i=2时,只有k是奇数,才能进入if,flag的真假交替出现,故a(2)、a(4)、a(6)必须均为奇数,排除选项A、D,选项C中的100不在范围排除,故a(1)~a(6)各元素的值可能的是53,11,99,67,2,57,故本题选B选项。
4.D
【详解】本题主要考查Python表达式的运算。“%”是取余运算符,“//”表示整除运算符,“**”表示指数运算,“==”表示判断表达式是否成立。Len(“hello”)=5,round(4.899)=5,ord(“F”)﹣ord(“A”)=5,int(“123456”[5])=6。故本题选D选项。
5.D
【详解】本题主要考查Python表达式的运算。逻辑运算符or两边值均为假时值才为假,否则值为真;逻辑运算符and两边值均为真时值才为假,否则值为假,not是取反。已知a=1,b=2,c=3,a+b>=c值为True,表达式c<b-a值为False,表达式not c<b-a值为True,故表达式a+b>=c and not c<b-a的运算结果是True,故本题选D选项。
6.B
【详解】本题主要考查Python多分支结构。输入85,满足75<=s<90条件,故执行print("B等第")。选项B正确。
7.D
【详解】本题考查Python函数相关内容。str()函数可以将各种类型的数据转换为字符串,并结合格式化字符串的功能,以适应不同的需求。len()函数用于返回一个对象的长度,即对象中元素的个数。round()函数用来返回一个浮点数的四舍五入值,该函数可以设置返回的浮点数的小数点位数。ord()函数用于从给定字符值中获取数字值,它接受一个字符并返回一个整数,即用于将字符转换为整数,即用于获取ASCII给定字符的值 。abs()函数用于返回数字的绝对值。A选项,len(str(123))-->len("123")-->3,表达式的值为奇数。B选项,round(7.34)-->7,表达式的值为奇数。C选项,(-5)**2+8//3*2-->25+4-->29,表达式的值为奇数。D选项,abs(ord("H")-ord("J"))-->abs(-2)-->2,表达式的值为偶数。故本题答案是D选项。
8.A
【详解】本题主要考查Python循环结构的应用。x=1,每次递增3,循环条件是x<10,因此输出结果是4、7、10,故本题选A选项。
9.D
【详解】本题主要考查Python程序的调试。该程序实现统计列表a中小于60的数的个数,m=60,i是列表a的索引,故此处if判断条件是a[i]<m,故本题选D选项。
10.B
【详解】本题考查的是程序调试与运行。根据最后一行语句可知,筛选的是时长和次数之积大于120的数据。根据倒数第二行语句可知,索引是bm,列标题是col。故本题应选B。
11.A
【详解】本题主要考查Python程序执行。分析程序,该程序实现将输入的正整数n,将n取余2的余数依次保存到字符串s中,n每次更新为n//2,直到n不大于0,循环结束。输入12,对2取余所得余数依次是0、0、1、1,故输出结果是0011,故本题选A选项。
12.B
【详解】本题考查的是Python赋值。实现交换变量a和b的值,可使用语句:a,b=b,a。故选项B正确。
13.A
【详解】本题考查Python字典相关内容。字典是一种可变容器模型,且可存储任意类型对象,如字符串、数字、元组等其他容器模型。字典的每个键值key-->value对用冒号:分割,每个对之间用逗号,分割,整个字典包括在花括号{}中,格式如下所示:d = {key1 : value1, key2 : value2 }。A选项,字典jcxx中,“北京”是键,“京”是键值,选项错误。BCD选项说法正确。故本题答案是A选项。
14.A
【详解】本题考查Python程序设计相关内容。本题涉及到队列相关知识。根据题意tmp=8,每次队首出队赋值给a,直到遇到a的值等于tmp即8的时候,入队st,然后tmp的值才减1,最后st的值是[8,7,6,5,4,3,2,1],故本题答案是A选项。
15.A
【详解】本题主要考查Python程序的执行。分析程序可知,循环条件是x<20,循环体是x=x*3,n=n+1,故循环结束时,x的值依次是1、3、9、27,循环了3次,故n=3,故本题选A选项。
16.A
【详解】本题考查程序调试相关知识点。程序没有报错且能顺利运行,说明程序语句语法没有错误,程序没有过期,程序设计窗口配置正确。故本题选A选项
17.D
【详解】本题考查Python输出结果。这个程序创建了一个字典d,然后使用字典中的值进行一系列操作。对程序逐步分析:字典d包含了5个键值对,其中键(Key)是字母,值(Value)是整数。a=d["E"],这里将字典d中键为"E"的值(5)赋给了变量a。b=d["D"],这里将字典d中键为"D"的值(4)赋给了变量b。c=d["B"],这里将字典d中键为"B"的值(2)赋给了变量c。s=a+b+c,将变量a、b和c的值相加,得到s的值。a的值是5。b的值是4。c的值是2。所以,s=5+4+2=11。故答案为D选项。
18.C
【详解】本题考查字符串处理知识。由代码分析可知,该段代码对字符串s进行遍历,如果是数字字符,则在列表a中取出a[int(c)%3];如果取出的是小写字符,则将字符倒排链接在ans中;如果取出的是大写字符,则将其转换成小写字母,链接在ans中。根据分析可知为C选项。
19.B
【详解】本题考查变量相关内容。变量的命名遵循的规则:以字母或下划线开头,后面可以是字母、数字或下划线;区分大小写;不能使用保留字。AD选项:if、True是作为保留字,不能作为变量;i可以作为变量使用,选项B正确;变量名不能包含有特殊含义的符号“*”,选项C错误。故本题答案是B选项。
20.D
【详解】本题主要考查Python字典操作。字典是一种通过名字或者关键字引用的得数据结构,通过字典中的【键】来访问字典中的值,访问的格式如下:字典名[键]。现需要查询第3名成绩,正确的语句是dict["第3名"],故本题选D选项。
答案第1页,共2页
答案第1页,共2页
学科网(北京)股份有限公司
$$