11 python语句 巩固练习 浙教版(2019)高中信息技术选考(学考)一轮复习(含答案)

文档属性

名称 11 python语句 巩固练习 浙教版(2019)高中信息技术选考(学考)一轮复习(含答案)
格式 docx
文件大小 37.4KB
资源类型 教案
版本资源 浙教版(2019)
科目 信息技术(信息科技)
更新时间 2022-09-21 17:45:08

图片预览

文档简介

算法与程序设计大单元
——python语句基础练习
班级 姓名
1.有如下Python程序段:
n=int(input("请输入n:"))
if n<0 :
s=0
elif n<16 :
s=n**3
else:
s=n*n**2
print(s)
若要测试所有分支程序代码是否正确,下列数据中合适的一组是( )
A.-5,0,16 B.0,16,25 C.-2,16,25 D.0,15,25
2.有如下Python程序段:
a=int(input("请输入一个数:"))
if a>0:
a=a%10
elif a==0:
a=a+1
else:
a=a**2
a=a+10
print(a)
输入a值为20,执行该程序段后,输出的结果是( )
A.14 B.11 C. 10 D.1
3.有如下 Python 程序段:
import random
s='513431282' ; res=1 ; x=random.randint(0,8) ; y=random.randint(0,8)
if x>y:
x,y=y,x
t=s[x:y+1]
if t==t[::-1]:
res=len(t)
运行程序后,变量res的值不可能是( )
A.1 B.3 C.4 D.5
4.有如下 Python 程序段:
s=input("请输入字符串:") ; ans=0
for i in s:
if "a"<=i<="z" : ans+=2
elif "0"<=i<="9": ans+=1
运行程序后,输入“P3fhYT8x”,则ans的值可能为( )
A.3 B.7 C.11 D.8
5.有下列 Python 程序段:
dict={1:"p",2:"y",3:"t",4:"h",5:"o",6:"n"} ; num=[4,2,1,5] ; result=""
for i in num:
result+=dict[i]
print(result)
执行该程序段后,result的值为是( )
A."hypo" B."opyh" C."nyto" D."otyn"
6.有如下 Python 程序段:
import random
import math
a=random.randint(0,10)
if (math.sqrt(a))**2==a:
a=a+1
print(a)
运行程序后,输出的结果不可能是( )
A.2 B.3 C.4 D.5
7.有如下 python 程序:
s='1w2e3dx@en45' ; num=0
for i in s:
if 'a'<=i<='z'or 'A'<=i<='Z':
continue
elif '0'<=i<='9':
num=num*10+int(i)
else:
break
print(num)
运行程序后,num 的值为( )
A.12345 B.123 C.45 D.1
8.有如下Python程序段:
s="22py4th18" ; sum=t=0
for i in range(len(s)):
if "0"<=s[i]<="9":
t=t*10+int(s[i])
else:
sum+=t ; t=0
print(sum)
执行该程序段后,变量sum的值为( )
A.22 B.26 C.40 D.44
9.有如下 Python 程序段:
a=input('请输入一串英文字符串:') ; s='' ; sum=0
for ch in a:
s=s+str(ord(ch)-ord('A')+1)
for ch in s:
sum+=int(ch)
print(sum)
若输入字符串为‘ZBAX’(不包含前后引号),则输出结果为( )
A.8 B.13 C.17 D.4
10.有如下Python程序段:
n=int(input("请输入:"))
s=x=0
while n!=0:
x=n%10 ; s=x+s ; n=n//10
print(s)
执行该程序段后,依据程序提示,输入“20220412”,则程序输出结果是( )
A.13 B.1119 C.2022 D.9
11.有如下Python程序段:
n=int(input("请输入:"))
s=x=0
while n%10!=0:
x=n%10 ; s=x+s ; n=n//10
print(s)
执行该程序段后,依据程序提示,输入“20220412”,则程序输出结果是( )
A.13 B.7 C.2022 D.21402202
12.有如下 python 程序段:
n='15867239012' ; s=0
for x in n:
if int(x)%2==0:
continue
elif s==14:
break
s+=int(x)
print(s)
该程序段执行后,则输出结果为( )
A.18 B.26 C.14 D.17
13.有如下 python 程序段:
a=[2,3,5,9,17,30]
k=0
for i in range(1,len(a)-1):
if (a[i]-a[i-1])/a[i-1]<(a[i+1]-a[i])/a[i]:
k+=1
print(k)该程序段运行后,k 的值为( )
A.1 B.2 C.3 D.4
14.有下列 Python 程序段:
s="6p25y3t"
sum=t=0
flag=True
for ch in s:
if "0"<=ch<="9":
t=t*10+int(ch)
else:
if flag==True:
sum+=t ; t=0
flag=not flag
print(sum)执行该程序段后,变量 sum 的值为( )
A.6 B.9 C.28 D.34
15.有下列 Python 程序段:
import random
s=input("请输入字符串:")
x=random.randint(3,6)
n=len(s)
if len(s[0:x])r=s[x:n]+s[0:x]
else:
r=s[0:x]+s[x:n]
print(r)
执行该程序段,若输入“helloworld”(不包含双引号),则输出的结果不可能的是( )
A.loworldhel B.oworldhell C.helloworld D.worldhello
16.某张单据上有一个5位数的编号n,如图所示 ,其百位数和十位数模糊不清,但是知道这个5位数是23的倍数。现要设计一个算法,找出所有满足这些条件的5位数,并统计个数。现有Python程序段如下:
c=0
for i in range(10):
for j in range(10):
m=25006+s
if m%23==0:
print(m)
c=c+1
print(“满足这些条件的5位数总共有:”,c,“个” )
画线处应填的代码是( )
A.s=i*10+j B.s=i*100+j C.s=i+j*10 D.s=(i*10+j)*10
17.某化合物是由C、H 和 O 三种元素组成,可用通式 CiHjOk 来表示,其中 i,j,k 是 1 到 9 之间的整数。某元素的质量分数计算方法=(该元素相对原子质量*该元素原子个数)/该化合物的相对分子质量。
a=input('请输入化合物:') #如输入 C2h4O2
A=a.upper() #upper() 将字符串中的小写字母转为大写字母
dic={'C':12,'H':1,'O':16}
sum_total=0 ; sum=dic[A[0]]*int(A[1])
for i in range(2,len(a),2):
sum_total+= dic[A[i]]*int(A[i+1])
print('C 元素的质量分数:', sum/sum_total)划线处应填入的代码为( )
A.range(2,len(A),2) B.range(0,len(A),2) dic[A[i]]*A[i+1] dic[A[i-1]]*int(A[i])
C.range(0,len(A),1) D.range(0,len(A),2) dic[A[i]]*int(A[i+1]) dic[A[i]]*int(A[i+1])
18.提取字符串中的数字并存放到列表中,实现代码如下:
s="12,345,67" ; a=[] ; t=0 ; n=0
for i in range(len(s)):
if s[i]==",":
t=int(s[n:i]) ; a.append(t) ; ①
if i==len(s)-1:
t=int(②____ _) ; a.append(t)
print(a)
程序中划线处的代码为( )
A.①n=i ②s[n:i+1] B.①n=i+1 ②s[n:i] C.①n=i+1 ②s[n:i+1] D.①n=i ②s[n:i]
答案
1——5:ACCDA
6——10:CBBCA
11——15:BBCAD
16——18:DAC
同课章节目录