25.在Python中,下列循环结构用法错误的是()。
A.foriinrange(20):
B.foriinrange(0,10):
C.foriinrange(10,0,2):
D.whiles<50:
26.如下Python程序段
x=2
print(x+1)
print(x+2)
运行后,变量x的值是()
A.2B.3C.5D.
27.Python语言属于()。
A.机器语言B.汇编语言C.高级语言D.科学计算语言
28.在Python中,下面代码的运行结果是()
x=365
g=x%10#%为求余的意思
s=x//10%10#//为整除的意思
b=x//100
sum=g*100+s*10+b#sum英文是求和的意思
print(sum)
A.365B.14C.563D.41
29.下面的Python程序段运行后的输出结果是()
List=[‘10’,25,’猕猴桃’,9,65]
Print(List[3])
A.25B.’猕猴桃’C.猕猴桃D.9
30.以下Python程序段执行后,输出结果为()。
A.m不能被3整除B.29不能被3整除C.29能被3整除D.m能被3整除
二、程序填空
31.阅读程序。
分析以下两段Python程序并回答问题。
#程序1
i=1
whilei<101:
print('把这句话打印100遍')
i+=1
#程序2
i=100
whilei:
print('把这句话打印100遍')
i=i-2
(1)在程序1中,i+=1这句话的含义是______________。
(2)在程序1中,‘把这句话打印100遍’实际输出了_____遍。
(3)在程序2中,i的初值是___。
(4)在程序2中,‘把这句话打印100遍’实际输出了_____遍。
(5)在程序2中,whilei的含义是_________。
32.模拟一个简单计算器,实现如下功能:
输入两个整数和一个运算符(加、减、乘、除),进行算术运算,并输出运算结果。
程序运行时,依次输入第一个数、运算符和第二个数,输出运算结果。
当输入的运算符是加减乘除(+-*/)四种以外的符号时,则输出“运算符不正确”。
当进行除法运算时,如果除数为“0”,提示输出“除数不能为0!
”。
Python程序实现如下,在划线处填入合适的代码。
a=int(input("请输入第一个数:
"))
fh=input("请输入运算符:
")
b=int(input("请输入第二个数:
"))
flag=True
s=____
iffhins:
iffh=="+":
c=a+b
eliffh=="-":
c=a-b
eliffh=="*":
c=a*b
else:
if____
print("除数不能为0!
")
flag=False
else:
c=a/b
ifflag==True:
print("运算的结果为:
"+____)
else:
print("运算符不正确")
33.某种数据加密方法描述如下(加密前数据是ASCII字符):
●以8个数据为一段,将n个待加密数据依次分割成若干个数据段,剩余数据(个数小于8)为独立数据段。
●数据加密规则:
数据个数等于8的数据段,对各个字符进行位置变换;数据个数小于8的数据段,不进行位置变换。
位置变换:
用位置变换密钥数组c,将数据段每个字符进行位置变换,方法如下:
加密后某数据段的第i个元素=对应原数据段的第c(i)个元素,其中i=1,2,……,8。
数值变换:
位置变换后,依次取出各个字符进行数值变换:
把该字符的ASCII码转二进制,然后与密钥m对应的二进制数(m为1到255之间的整数)按位异或运算。
异或运算(⊕)规则:
如果a、b两个值不相同,则a⊕b结果为1;如果a、b两个值相同,则a⊕b结果为0,即:
0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0。
●把上述处理的得到二进制数依次拼接,即构成最后的加密数据例如,待加密数据为“python3.50”,数组c各元素的值依次是
数组c
3
6
1
5
2
8
4
7
则数据位置变换如下:
如值变换密钥m为35(二进制表示是00100011),则字符“t”(ASCII码值是116,二进制表示是010100)的数值变换过程如下:
变换前
0
1
1
1
0
1
0
0
密钥m
0
0
1
0
0
0
1
1
变换后
0
1
0
1
0
1
1
1
(1)已知“A”的ASCII码值是65,m=35,则“A”数值变换后的结果是_______(填二进制数据)。
(2)小李根据上述算法,设计了一个数据加密程序,其VB代码如下,请在划线处填入合适的代码。
Constn=1024
Dimc(1To8)AsInteger
PrivateSubForm_Load()
‘产生位置变换密钥数组c,代码略
EndSub
Functionconvert(cAsInteger)AsString
‘程序功能:
把整数c转成8位二进制数,代码略
EndFunction
PrivateSubCommand1_Click()
DimsAsString,stAsString,ssAsString,resAsString
DimiAsInteger,jAsIntegerstartAsInteger
Dima(1Ton)AsString,b(1Ton)AsString
s=Text1.Text
st=convert(Val(Text2.Text))
Fori=1ToLen(s)
a(i)=Mid(s,i,1)
Nexti
i=1:
start=-8
DoWhile①________
IfiMod8=1Thenstart=start+8
b(i)=②_______
i=i+1
Loop
Forj=iToLen(s)
b(j)=a(j)
Nextj
Fori=1ToLen(s)
③________
Forj=1To8
IfMid(ss,j,1)=Mid(st,j,1)Then
res=res+"0"Elseres=res+"1"
'按位异或
Nextj
Nexti
Text3.Text=res
EndSub
34.完善程序实现以下功能并保存。
输出数组的最大值。
arr1=[12,435,76,24,78,54,866,43]
________=-32768
foriinrange(0,7):
ifarr1[i]>max1:
max1=________
print("最大值是:
",________)
input("运行完毕,请按回车键退出...")
35.程序设计:
唐三藏又被妖怪抓走了,这次孙悟空还是没打得过妖怪,于是来求观音菩萨。
观音菩萨告诉孙悟空,在天庭里身高正好为1000米的那位神仙可以降伏此妖。
于是悟空立刻来到天上,在玉皇大帝的神仙册上看到了按身高从矮到高排列有10000个神仙。
由于时间紧迫,悟空想用最短的时间找到这位神仙,这样才可以尽快解救唐僧。
代码如下:
List=list(map(int,input(“请按身高递增顺序依次输入10000个神仙的身高”).split()))
left=1
right=10000
while①
mid=②
ifList[mid]==1000:
③
elifList[mid]<1000:
④
else:
⑤
print(“能帮孙悟空的神仙在第{0}位上”.format(mid+l))
(1)程序代码中①处正确的代码是(_______)。
A.left<rightB.left<=rightC.left!
=rightD.left>right
(2)程序代码中②处正确的代码是(_______)。
A.(left+right)/2B.(left+right)\2
C.(left+right)//2D.(left+right)\\2
(3)程序代码中③处正确的代码是(_______)。
A.passB.print(mid)zC.breakD.continue
(4)程序代码中④处正确的代码是(_______)。
-
A.left=midB.right=midC.left=mid+1D.right=mid-1
(5)程序代码中⑤处正确的代码是(_______)。
A.left=midB.right=midC.left=mid+1D.right=mid-1
36.编写一个程序,它将找到所有这些数字,可被7整除,但不是5的倍数,2000年至3200年(包括在内)。
得到的数字应按逗号分隔的顺序打印在一行上。
提示:
考虑使用range(#begin,#end)
37.(项目情境)在中国古代,出自数学家张丘建的《算经》中这样一个值得研究的问题:
今有鸡翁一,直钱五;鸡母一,直钱三;鸡雏三,直钱一。
凡百钱,买鸡百只。
问鸡翁、母、雏各几何?
这个问题就是著名的“百钱买百鸡问题”。
即:
现有100文钱,公鸡5文钱一只,母鸡3文钱一只,小鸡一文钱3只,要求:
公鸡,母鸡,小鸡都要有,把100文钱买100只鸡,买的鸡是整数。
问公鸡、母鸡和小鸡各几何?
(问题求解)设用变量g、m、x三个变量分别存放公鸡、母鸡和小鸡的数量,请阅读如下程序,在空白处填写适当的表达式或语句,使程序完整。
forginrange(1,20):
formin_______:
forxinrange(3,98,3):
if_________and__________==100:
print("公鸡:
",g,"母鸡:
",m,"小鸡:
",x)
38.分析完善程序
某市出租车收费标准如下:
(1)3公里内(含3公里),收费8元
(2)超过3公里但未超过6公里部分,按1.5元/公里收费
(3)超过6公里部分,按2.25元/公里收费。
根据以上标准,输入出租车行驶的公里数,请计算顾客需付费多少元?
[算法分析]
假设总费用为p,则可以分段计算
p=8‘(s≤3)
p=1.5*(s-3)+8‘(3
p=2.25*(s-6)+1.5*3+8‘(s>6)
[参考代码]
a=float(input(“s=”))
ifs<=3:
p=8
if
p=1.5*(s-3)+8
ifs>6:
p=2.25*(s-6)+1.5*3+8
print(p)
根据上述回答如下问题:
(1)本题采用的算法是________(填:
解析法/枚举法/排序法/递归法)。
(2)程序代码中空白处应填写的条件是_______(填:
A/B/C/D)。
A.33ands<6D.s>3Ors<=6
39.编写程序,找到并输出100以内的素数。
40.阅读程序。
分析条件语句的代码并回答问题。
(1)如果不能使用int()函数,那么变量s的类型将会变成______。
(2)如果你的期末成绩是85,你得到的评价将会是____________。
(3)如果你的期末成绩是55,你得到的评价将会是____________。
(4)如果你得到的评价是“还可以再提升”,你的期末成绩应该在_____和______之间。
(5)“程序中出现的所有else都可以替换为elif,程序效果一样”,这种说法是____(填“对”或“错”)的。
【参考答案】***试卷处理标记,请不要删除
一、选择题
1.D
【详解】
本题主要考查Python数据类型。
布尔型bool,整型int,字符串型String,浮点型float,故本题选D选项。
解析:
D
【详解】
本题主要考查Python数据类型。
布尔型bool,整型int,字符串型String,浮点型float,故本题选D选项。
2.D
【详解】
本题考查的是Python表达式。
**是幂次方优先级最高,%是求余。
8+7%2**2=8+7%4=8+3=11,print是输出语句。
故选项D正确。
解析:
D
【详解】
本题考查的是Python表达式。
**是幂次方优先级最高,%是求余。
8+7%2**2=8+7%4=8+3=11,print是输出语句。
故选项D正确。
3.B
【详解】
本题主要考查Python程序的语句。
x=y=z=1(给变量x、y、z均赋值为1),x,y=y,x(交换x和y的值),x+=y等价于x=x+y,x=(y=z+1)是非法的语句,故本题选B
解析:
B
【详解】
本题主要考查Python程序的语句。
x=y=z=1(给变量x、y、z均赋值为1),x,y=y,x(交换x和y的值),x+=y等价于x=x+y,x=(y=z+1)是非法的语句,故本题选B选项。
4.A
【详解】
本题主要考查Python文件。
python文件的扩展名是py,故本题选A选项。
解析:
A
【详解】
本题主要考查Python文件。
python文件的扩展名是py,故本题选A选项。
5.B
【详解】
本题主要考查Python序列索引值。
任意长度的字符串,最后一个元素的索引值是-1,故a[-1]的值为"n",故本题选B选项。
解析:
B
【详解】
本题主要考查Python序列索引值。
任意长度的字符串,最后一个元素的索引值是-1,故a[-1]的值为"n",故本题选B选项。
6.A
【详解】
本题主要考查Python表达式的运算。
3%2=1,5//2=2,1*2=2,1+3/3=2,故本题选A选项。
解析:
A
【详解】
本题主要考查Python表达式的运算。
3%2=1,5//2=2,1*2=2,1+3/3=2,故本题选A选项。
7.B
【详解】
本题主要考查Python文件读写操作。
首先打开ceshi.txt文件进行写操作,写入pythonisaprogramminglanguage.会覆盖之前的内容,故该代码段运行后
解析:
B
【详解】
本题主要考查Python文件读写操作。
首先打开ceshi.txt文件进行写操作,写入pythonisaprogramminglanguage.会覆盖之前的内容,故该代码段运行后,输出的结果为pythonisaprogramminglanguage.,故本题选B选项。
8.B
【详解】
本题主要考查Python变量的命名。
变量的命名规则有:
只能以字母或下划线开头,不能包含特殊符号,不能是关键字,故合法的Python变量名是speed,故本题选B选项。
解析:
B
【详解】
本题主要考查Python变量的命名。
变量的命名规则有:
只能以字母或下划线开头,不能包含特殊符号,不能是关键字,故合法的Python变量名是speed,故本题选B选项。
9.B
【详解】
本题主要考查计算机文件存储结构。
由图可知,图中文件存储结构为树结构,python34为树的根结点(父节点);图中python34根结点有8个子结点;图中python34根结点下有5个子
解析:
B
【详解】
本题主要考查计算机文件存储结构。
由图可知,图中文件存储结构为树结构,python34为树的根结点(父节点);图中python34根结点有8个子结点;图中python34根结点下有5个子树(子结点);图中Tools是python34的子树(子结点),故本题选B选项。
10.D
【详解】
本题考查Python文件扩展名相关知识点
Python程序文件的扩展名是.py。
故本题选D选项
解析:
D
【详解】
本题考查Python文件扩展名相关知识点
Python程序文件的扩展名是.py。
故本题选D选项
11.B
【详解】
本题主要考查Python程序设计语言。
python是一种解释型、面向对象的计算机程序设计语言;python支持Windows操作系统,也支持Linux系统;python源文件以***.
解析:
B
【详解】
本题主要考查Python程序设计语言。
python是一种解释型、面向对象的计算机程序设计语言;python支持Windows操作系统,也支持Linux系统;python源文件以***.py为扩展名;python文件不能直接在命令行中运行,故本题选B选项。
12.A
【详解】
本题主要考查Python列表。
min是返回列表中的最小值,列表list1=[88,22,34,89,67],则python表达式min(list1)的值为22,故本题选A选项。
解析:
A
【详解】
本题主要考查Python列表。
min是返回列表中的最小值,列表list1=[88,22,34,89,67],则python表达式min