内容正文:
第四章 程序设计基础 检测练习
一、选择题
1.模拟飞行棋掷骰子操作,实现该功能的Python程序段如下:
import random
num=
print("您所掷骰子的点数为:"+str(num))
程序划线处应填入的代码为( )
A.random.randint(1,7) B.random.choice(range(1,6))
C.int(random.random( )*6)+1 D.int(random.random()*5)+1
2.下列Python表达式,值为False的是( )
A.14//6<14/6 B."20"<"8" C.len("18%4")<23%5 D.int(2.5)<2.1
3.有如下Python程序段:
from random import random
a=[1]*5
i=1
while i<=4:
a[i]=int(random()*10)+1
if a[i]==a[i-1]//2 or a[i]==a[i-1]*2:
i+=1
执行该程序段后,数组a的值可能是( )
A.[1,2,1,2,1] B.[1,2,4,8,16] C.[2,1,2,1,2,] D.[8,4,2,4,8]
4.lst1和lst2都是升序排序的列表,执行如下Python程序段:
result=[]
i=0#用于遍历1st1
j=0#用于遍历1st2
while i<len(lst1) and j<len(lst2):#①
if lst1[i]<lst2[j]:
result.append(lst1[i])
i+=1
else:
result.append(lst2[j])
j+=1
while i<len(lst1):
result.append(lst1[i])#②
i+=1
while j<len(lst2):
result.append(lst2[j])#③
j+=1
下列说法不正确的是( )
A.程序段①执行后,result可能与lst1相同 B.程序段①执行后,result可能与lst2相同
C.在一次程序运行中,②处代码和③处代码可能都被执行 D.程序执行后,列表result中的元素升序排序
5.有如下Python程序段:
n=int(input())
a=[0,0,0,0,0,0,0,0,0,0]
c=0
while n>0:
a[n%10]=a[n%10]+1
if a[n%10]==1:
c=c+1
n=n//10
print(c)
执行上述程序段,若输出c的值为4,则输入n的值可能为( )
A.1123 B.2373 C.14551 D.20045
6.运行下列Python程序后的结果为( )
colors=["red","yellow","blue"]
print(colors[2])
A.red B.yellow C.blue D.red yellow
7.在Python程序中,关系表达式a==b的运算结果是( )
A.整型 B.布尔值 C.浮点型 D.字符串
8.有如下Python程序段:
a=[3,4,7,9,12,17]
i = a[0];j =a[5];tar =20;ans =-1
while i <=j:
mid=(i + j)//2
tmp=0
for k in range(len(a)):
if a[k]>mid:
tmp += a[k] - mid
if tmp >= tar:
ans = mid;i = mid+1
else:
j = mid -1
执行该程序段后,变量ans的值为( )
A.-1 B.6 C.7 D.10
9.变量a=2;b=3,下列表达式正确的是( )
①a+b ②"a"+"b" ③a+"b" ④a*"b" ⑤"a"*"b" ⑥str(a)+"b" ⑦str(a)+str(b)
A.①②⑤⑥⑦ B.①②④⑥⑦
C.①②④⑤⑦ D.①②③⑥⑦
10.下列 Python 程序段的功能:统计出物化技组合成绩大于等于270分的人数。
# 某次测试七名学生的物理、化学、技术成绩被存储在变量 score 中
score={"物理":[87,85,83,90,85,88,91],"化学":[91,92,85,90,89,84,92],
"技术":[97,89,93,95,93,87,94]}
count=0
km=["物理"