内容正文:
3.2 Python语言程序设计
一、选择题
1.有如下Python程序,程序执行,输入数据k之后输出的结果不正确的是( )
L=[8,10,9,14,13,4,9,13,10]
k=int(input('请输入k值:'))
j=0
for i in range(9):
if L[i]<=k:
L[j]=L[i]
j=j+1
print(L[:j])
A.k=8输出:[8,4] B.k=9 输出:[8,9,4,9]
C.k=10输出:[8,10,9,4,9,10] D.k=13输出:[8,10,9,13,4,9,13]
2.以下不属于算术运算符的是( )
A.** B.% C.!= D./
3.有如下python程序段:
s = "10/110/"
ans, t = 0, 0
for i in s:
if i=='/':
ans += t
t=0
else:
t=t*2 + int(i)
print (ans)
运行该程序段,输出结果是( )
A.8 B.5 C.10 D.13
4.下列属于全部是计算机编程语言的有( )
①Python ②Pascal ③Java ④C++ ⑤pool
A.①②④⑤ B.②③④⑤ C.①②③④ D.①②④
5.有如下 Python 程序段:
def fun(x):
x += 3
return x
x= 3
print(fun(x),x)
执行该程序段后,输出的结果是( )
A.3 3 B.6 3 C.6 6 D.报错
6.在Python语言中,2**5的值为( )
A.10 B.7 C.32 D.8
7.已知字典 dict1={1:2, 2:[1,2], 'b':[1,3], 'b':'b1','b1':'b2' },运行dict1['b']的结果是( )
A.2 B.b1 C.[1, 3] D.b2
8.有如下 Python 程序段:
s = "AbqqW34mf"; s1 = ""
for i in range(len(s)):
if "a" <= s[i] <= "z":
c = chr(ord(s[i]) - 32)
t = chr((ord(c) - ord("A") -1 + 26) % 26 + ord("A"))
s1 = s1 + t
print(s1)
运行以上程序段后, 输出的内容为( )
A.APPLE B.ELPPA C.ELRPPAU D.UAPPRLE
9.下列叙述中,正确的是( )
A.在Python中,“Value”与“value”是两个不同的标识符
B.大数据是指可以在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合
C.人工智能可以全面替代人类活动
D.算法执行的每一步可以没有确切的含义
10.下列Python表达式中,计算结果值与其它选项不同的是( )
A.abs(-3//2) B.3**3%5 C.len("1+2") D.int(max("2","12"))
11.“猜数游戏”中,计算机随机生成一个0~10之间的整数,用户输入一个整数进行猜测,计算机根据用户输入的数据进行比对,直到用户猜中为止。为了实现“猜数游戏”,补充完善下列 Python程序第5行下划线处的代码( )
1 #猜数游戏
2 import random
3 number=random.randint(0,10)
4 guess=int(input(“请输入猜测的数:”))
5 while _____________:
6 guess=int(input(“猜错了,继续猜一猜:”))
7 print(“恭喜你,猜对了!”)
A.guess!=number B.guess=!number C.guess==number D.guess=number
12.8//3**2+15%4的结果是( )
A.39 B.15 C.5 D.3
13.有如下程序,程序运行之后打印输出a值是( )
a=1
b=3
a+=b
a*=b
print(a)
A.12 B.9 C.3 D.1
14.下面程序运行结果是( )
str =“abc”
c=len(str)
for i in range(0,c):
print(str[i].upper(),end=" ")
A.A B C B.abc C.a b c D.ABC
15.下列Python函数中,能够对列表[1,7,9,8,5]求和的( )
A.val() B.ord() C.sum() D.str()
16.下列选项中不能正确表达Python中的赋值语句的是( )
A.X,Y=5,8 B.X=Y=5 C.X =Y+X D.10=X+Y
17.班里共n位同学,学号0至n-1,其中有一位同学未交作业。为了找出未交作业的同学学号,假设已交作业的n-1位同学学号从小到大存放于列表a中,则划线处代码是( )
L,R=0,n-2
while L<=R:
m=(L+R)//2
if a[m]==m:
①
else:
②
print( ③ )
A.①R=m-1 ②L=m+1 ③L B.①R=m-1 ②L=m+1 ③R
C.①L=m+1 ②R=m-1 ③L D.①L=m+1 ②R=m-1 ③R
18.有如下 Python 程序。
from random import randint
a=[0]*6
for i in range(6):
a[i]=randint(1, 10)
for i in range(6):
if a[i]%2==0 and i%2== 0:
a[i] += 1
elif i%2==1:
a[i]=a[i]+a[i- 1]
print(a)
程序运行后,输出结果可能是( )
A.[8, 11, 7, 3, 11, 14] B.[9, 13, 7, 13, 11, 14] C.[9, 8, 11, 13, 7, 15] D.[9, 13, 7, 13, 10, 8]
19.判断字符串s是否是回文字符串(从左向右读和从右向左读一样的字符串称为回文字符串),若是则返回True,否则返回False,为了实现该功能,以下函数不可行的是( )
A.
def hw4(s):
for i in range(len(s)//2):
if s [i] !=s[len(s)-1-i]:
return False
else:
return True
B.
def hw2(s):
for i in range(len(s)//2):
if s [i] !=s[len(s)-1-i]:
return False
return True
C.
def hw3(s):
for i in range(len(s)//2):
if s [i] !=s[len(s)-1-i]:
return False
else:
return True
D.
def hw1(s):
L,R=0,len(s)-1
while L<R:
if s[L] !=s[R]:
return False
L,R=L+1,R-1
return True
A.A B.B C.C D.D
20.能去除字符串中空格的方法是()
A.lstrip( ) B.upper() C.startswith( ) D.ljust( )
试卷第1页,共3页
试卷第1页,共3页
学科网(北京)股份有限公司
参考答案:
1.D
【详解】本题考查程序分析。该程序功能,当输入值k大于等于当前遍历的L[i]值,将L[j]=L[i]。索引值j初始化为0,满足条件后j=j+1更新。当k=13时,输出结果为[8,10,9,13,4,9,13,10],故选项D不正确。故正确答案为:选项D。
2.C
【详解】本题考查Python运算符相关内容。“**”为算术运算符中的乘方运算;“%”为算术运算符中的取余运算;“/”为算术运算符中的除法运算;“!=”为关系运算符中的不等于运算。故本题答案是C选项。
3.A
【详解】本题考查Python程序设计相关内容。分析程序段可知,该程序功能是将各分隔符“/”之间的二进制转换十进制并求和。10B转换为2D,110B转换为6D,2+6=8。故本题答案是A选项。
4.C
【详解】本题主要考查计算机编程语言。Python、Pascal、C++、Java均是计算机编程语言,故本题选C选项。
5.B
【详解】本题考查Python程序设计相关内容。分析程序段,将x作为参数,调用fun(x),返回结果6,再调用print函数,主程序中x的值并未发生变化,输出结果为:6 3,故本题答案是B选项。
6.C
【详解】本题主要考查Python表达式的运算。“**”是幂运算,故2**5=32,故本题选C选项。
7.B
【详解】本题主要考查Python字典的操作。字典是按key取值,字典[键名] ,返回键名对应的值。已知字典中'b':[1,3],'b':'b1',但后面的键值会覆盖前面的键值,所以运行dict1['b']的结果是b1,故本题选B选项。
8.A
【详解】本题主要考查Python程序的综合应用。语句c = chr(ord(s[i]) - 32)实现将小写字母s[i]转换为大写字母,语句t = chr((ord(c) - ord("A") -1 + 26) % 26 + ord("A"))实现将大写字母C循环左移1位,分析程序可知,当s[i]是小写字母时,将其转换为大写字母后再循环左移一位,将其拼接到变量s1中;遇到其余字符,跳过。故运行以上程序段后, 输出的内容为APPLE,故本题选A选项。
9.A
【详解】本题主要考查Python程序设计语言。在Python中,“Value”与“value”是两个不同的标识符,因为Python区分字母大小写;大数据是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合;人工智能不可以全面替代人类活动;算法执行的每一步必须有确切的含义,故本题选A选项。
10.C
【详解】本题考查Python表达式。abs(-3//2):首先计算-3//2得到-2,然后取其绝对值得到2。3**3%5:首先计算3**3得到27,然后对27取模5得到2。len("1+2"):字符串"1+2"的长度为3,因此结果是3。int(max("2","12")):比较字符串"2"和"12",根据字符串的ASCII码比较规则,逐个字符比较,"2"在"1"之前,所以max("2","12")返回"2",然后将其转换为整数得到2。故答案为:C。
11.A
【详解】本题主要考查Python程序调试。分析程序,由while循环体可知,当guess与number不相等时进入循环体,故填guess!=number,故本题选A选项。
12.D
【详解】本题主要考查Python表达式的运算。8//3**2+15%4=8//9+3=0+3=3,故本题选D选项。
13.A
【详解】本题主要考查Python程序的执行。a=1,b=3,a+=b等价于a=a+b=4,a*=b等价于a=a*b=4*3=12,故输出a值是12,故本题选A选项。
14.A
【详解】本题主要考查Python程序的执行。该程序实现将字符串str中的字母全部转为大写字母,end=" "传递一个空字符串,print函数不会在字符串末尾添加一个换行符,而是添加一个空格,故程序运行结果是A B C,故本题选A选项。
15.C
【详解】本题主要考查Python函数。ord()函数用于将字符转换为整数,即用于获取ASCII给定字符的值;val()函数的功能为:将一组字符型数据的数字部分转换成相应的数值型;str()函数返回一个对象的string格式;sum()是求和函数,能够对列表[1,7,9,8,5]求和,故本题选C选项。
16.D
【详解】本题主要考查Python赋值语句。赋值语句是将表达式赋给变量,不可以将X+Y赋给常量10,故本题选D选项。
17.C
【详解】本题考查Python程序设计相关内容。若 a[m]==m成立,表明[L,m]区间中的学生都已提交,未提交的同学应在[m+1,R]中,所以执行L=m+1。反过来,若此时a[m]!=m,表明未提交作业的学生在[L,m-1]中,所以执行R=m-1。最终未提交作业的同学序号为L。故本题答案是C选项。
18.B
【详解】本题主要考查Python程序的执行。a[i]=randint(1, 10),a[i]是随机生成[1,10]之间的整数,分析if语句可知,当i=0时,a[0]一定为奇数,排除选项A;当i=1时,执行elif语句,即a[i]=a[i]+a[i- 1],a[1]一定大于a[0],排除选项C;当i=4时,带入发现选项D不可能,故本题选B选项。
19.A
【详解】本题考查Python程序。A选项中,在第一次比较字符后,无论是否相等,都直接返回了结果,没有完成对整个字符串前半部分和后半部分的完整比较,所以不可行。故答案为:A。
20.A
【详解】本题考查的是除字符串中空格的方法。lstrip() 方法用于截掉字符串左边的空格或指定字符。upper() 方法将字符串中的小写字母转为大写字母。startswith() 方法用于检查字符串是否是以指定子字符串开头,如果是则返回 True,否则返回 False。ljust() 方法返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。故选项A正确。
答案第1页,共2页
答案第1页,共2页
学科网(北京)股份有限公司
$$