NCT等级测试-Python编程一级真题测试卷3图文word
一、选择题
1.已知下列Python程序段,k取下列哪组值是x=4? ( )
for i in range(10):
k=int(input())
if k<=20 and k>0:
if k>15:
if k>18:
x=0
else:
x=1
else:
if k>12:
x=4
else:
x=5
A.13,16 B.13,14,15 C.16,17,18 D.18,19
2.下列选项中,能作为python程序变量名的是( )
A.if B.2x C.a*b D.x2
3.在python计数循环中,列表正确的输写方式是( )。
A.(1,2,3) B.(1,2.3) C.[1,2.3 ] D.[1,2,3]
4.运行下列Python程序,输出结果为True,则空白处应为( )
a=15
b=46
if__________:
print(‘True’)
else:
print(‘Flase’)
A.a=b B.a>b C.a<b D.a==b
5.韦沐沐同学利用Python软件编制程序。初始时,他使用流程图描述算法,在设计输入、输出数据时使用的图例是( )
A. B. C. D.
6.有如下python程序段
n=int (input("请输入n值: "))
x=n ; y=0
if x>0:
y=y+1
elif x<0:
y=y-1
print (y)
执行上述语句,下列说法不正确的是( )
A.若输入-1,则输出y值为-1 B.若输入0,则输出y值为-1
C.若输入1,则输出y值为1 D.若输入2,则输出y值为1
7.有关循环结构的说法不正确的是( )。
A.循环结构是算法的基本结构之一
B.有的的程序设计中没有循环结构
C.循环结构在程序设计有可能会有嵌套出现
D.在PYTHON 程序设计语言中循环结构一般使用IF语句实现。
8.在Python中,已知a=3,b=5,运行下列程序段后,a和b的值为
a = a * b
b = a // b
a = a // b
A.a=3 b=5 B.a=15 b=3 C.a=5 b=5 D.a=5 b=3
9.Python中的数据类型float表示( )
A.布尔型 B.整型 C.字符串型 D.浮点型
10.已知字符串变量x的值是“H”,字符“A”的ASCII值是65,则python表达式chr(ord(x)+2)的值是( )
A.‘I’ B.‘J’ C.73 D.74
11.下列选项都是属于高级语言的是( )
A.汇编语言、机器语言
B.汇编语言、Basic语言
C.Basic语言、Python语言
D.机器语言、Python语言
12.python的命令行提示符是( )
A.### B.>>> C./// D.C:》
13.在Python中,表达式(21%4)+3的值是( )
A.2 B.4 C.6 D.8
14.python文件的扩展名是( )
A.py B.pye C.vbp D.pyr
15.在python语言中表示“x属于区间[a,b)” 的正确表达式是( )
A.a≤ x or x < b B.a<= x and x < b C.a≤二进制转换十六进制算法x and x< b D.a<=x or x<b
二、程序填空
16.阅读程序。分析以下关于字符拼接与转换的Python程序并回答问题。
students=[ '小明','小红','小刚']
scores={ '小明':95,'小红':90,'小刚':90}
print(len(students))
print(len(scores))
(1)students的数据类型是______________。
(2)scores的数据类型是_____________。
(3)在scores中,每个字符与后面的数值共同构成了一个____________。
(4)len(students)的返回值是____________。
(5)print(len(scores))的输出结果是__________。
17.奇偶校验码是一种增加二进制传输系统可靠性的简单且广泛采用的方法,该方法通过增加一个校验位使得传输的二进制码中“1”的个数恒为奇数或偶数,因此该校验码也分为“奇校验”和“偶校验”。“奇校验”的原理:在发送端发送的每个字节二进制码后增加一个校验位(0或
1),使得“1”的个数为奇数;接收端接收并统计每个字节及其校验位中“1”的个数,若为偶数,则意味着传输过程中存在差错。例如:
接收到的每个字节及校验码 | 1的个数 | 传输正误 |
100101001 | 4 | 错误 |
011010101 | 5 | 正确 |
101011010 | 5 | 正确 |
根据以上原理,小强编写了一个Python程序,对接收到的9位二进制编码进行“奇校验”,判断其传输的正误,若判断正确则将前一个字节的编码转成十六进制并输出。
请回答下列问题:
(1)若接收到的二进制码为“101011011”,传输过程__________(选填:是/否)存在差错。
(2)实现上述功能的Python程序如下,请在划线处填入合适的代码。
s=input("请输入9位二进制编码:")
code={10:"A",11:"B",12:"C",13:"D",14:"E",15:"F"}
k=0;p=0;ans=“”
for i in s:#统计9位二进制编码中“1”的个数
k=k+int(i)
if ____:
print("传输错误!")
else:
print("传输正确!")
for j in range(0,8,4):
p=int(s[j:j+4],2)
# int(x,[base]):将x(字符串或者数字)按照base进制转换成整数
if 0<=p<=9:
ans=ans+str(p)
else:
ans=___
print("字节编码用十六进制表示:",___
18.小金同学学完了进制转换后,对课后的不同进制的加减法很是头疼,爱动脑筋的小金突发奇想,能不能用python程序来完成这些作业呢?请帮小金完成代码编程.
def convert(s):
m=0
le=len(s)
key=s[le-1]
if key=="B":
n=2
elif key=="D":
_______
else:
n=16
i=0
while i<=le-2:
c=s[le-1-i]
if c>="0"and c<="9":
a=ord(c)-ord("0")
elif c>="A"and c<="F":
a=ord(c)-ord("A")+10
_____________
i+=1
return m
s=input("请输入算式")
result=0;suanfu1="";suanfu2="";s1=""
for i in range(len(s)):
c=s[i]
if c=="+" or c=="-" or c=="=":
__________
suanfu1=suanfu2
suanfu2=c
if suanfu1=="":
result=t
if suanfu1=="+":
result=result+t
if suanfu1=="-":
result=result-t
s1=""
else:
s1=s1+c
print("计算结果为"+str(result)+"D")
(1)将程序横线处补充完整
(2)如输入“1110B+10D-30H=”则输出结果为___________。
19.“百鸡百钱”问题是一个有名的数学问题,出自《张丘建算经》。其内容是:公鸡5文钱1只,母鸡3文钱1只,小鸡3只1文钱,用100文钱买100只鸡,其中公鸡、母鸡和小鸡都必须要有,问公鸡、母鸡和小鸡各多少只?
打开文件“考生文件夹\644\百鸡百钱.py”,完善程序实现以下功能并保存。
(1)请不要更改源程序的结构,删除原题里的①、②、③。填写正确的代码,使程序完善。
(2)运行程序,运行结果如图所示。
# 请不要更改源程序的结构,删除原题里的①、②、③。填写正确的代码,使程序完善
money=100 #一共100文钱
num=100 #一共100只鸡
cock_price=5 #公鸡价格5文
hen_price=3 #母鸡价格3文
threechick_price=1 #3只小鸡1文
for cock_num in range(1,money//cock_price+1): #公鸡只数可能为1-20
for hen_num in range(1,①________): #母鸡只数可能为1-33
for chick_num in range(1,②________): #(3小鸡)只数可能为1-100
money1=cock_num*cock_price+hen_num*hen_price+chick_num*threechick_price
num1=cock_num+hen_num+chick_num*3
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论