全国青少年软件编程(Python)等级考试试卷(一级)(2)
一、选择题
1.关于python发布代码及安装使用代码,下列说法错误的是()
A.创建一个文件夹mymodule,其中包含mymodule.py和setup.py(包含发布的元数据)两个文件
B.在DOS命令行中打开mymodule所在的目录,使用“python setup.py sdist”命令构建发布文件
C.已经构建发布的模块必须先导入程序,然后才能使用。导入时只能使用语句“import mymodule”,不可以用“from mymodule import *”
D.下载安装,使用“python setup.py install”命令安装到你的Python本地副本中
2.在python中,下列哪个选项是正确的赋值语句( )
A.5s= 80 B.2018 =x C.a+b=c D.s=s+5
python货币转换3.下列Python数据不属于列表的是( )
A.{24,56,7,89,4} B.[24,56,7,89,4]
C.[24,56,’a’,’猕猴桃’] D.[’A’,’B’ ’C’, ’D’]
4.Python程序中第一行:a=int(input( )),第二行:print(a+5),运行程序后键盘输入3,输出结果是( )。
A.5 B.3 C.8 D.其他
5.在Python中,input()函数的返回结果的数据类型为( )
A.Number型 B.String型 C.List型 D.Sets型
6.关于Python的内存管理,下列说法错误的是( )
A.变量不必事先声明 B.变量无需先创建和赋值就可直接使用
C.变量无须制定类型 D.可以使用del释放资源
7.Python中变量的命名遵循的规则,不正确的是( )
A.以字母或下划线开头,后面可以是字母、数字或下划线。 B.区分大小写
C.以数字开头,后面可以是字母、数字或下划线。 D.不能使用保留字
8.下列有关于print命令的描述中,正确的是( )
A.在打印机里打印相关的文本或者数字等
B.可以用来画图
C.在屏幕中输出相应的文本或者数字等
D.执行语句print(“python”,3.7)时会出错
9.下列序列拼接错误的是()
A.list = [ None ] * 4
B.msg = “Python”, ”语言”
C.tup = “/”.join( ( “123”, ”234” ) )
D.set = { 1, 2, 3 } + { 4, 5, 6 }
10.以下Python中变量的命名正确的是( )
A.1a=4
B.print=5
C._A=2
D.a+b=3
11.下列不被python所支持的数据类型是( )
A.char B.float C.int D.list
12.在Python中print(8+7%2**2)的执行结果是( )
A.5 B.1 C.6 D.11
13.在Python中print(-14//4)的运行结果是( )。
A.-4 B.-3.5 C.2 D.-2
14.下列Python程序段运行的结果是( )
f=[‘A’,’B’,’C’]
a=len(f)
print(‘a=’,a)
A.a=2 B.a=’A’ C.a=’C’ D.a=3
15.算法用Python程序实现,以下代码中哪处语句存在语法错误( )
A. B. C. D.
二、程序填空
16.小明用Python语言写了一个货币兑换程序如下:
(1)参数currency指:____________。
(2)该程序用了哪一种算法结构:_____________。
(3)输出结果为“50$= 325.25人民币”。则代码应该如何编写:____________。
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.某餐馆近期推出“消费1000元及以上享受8折优惠,1000元以下享受每满100减15优惠”的活动。以下Python程序段实现了生成顾客消费清单的功能,请补全①②③处代码。
def gs(n): #字符串长度统一
if len(n)>=5:
n=_____ #取字符串的前5个字符
else:
n=n+" "*(5-len(n))
return n
r=1000;x=100;y=15;z=0.8 #从系统中分别获取消费额度、满和减以及打折的数值
dis=["红烧排骨","香炸刀鱼","虾仁","菜心","米饭"] #某顾客所点菜品名称
num=[1,1,1,1,3] #某顾客所点菜品数量
mon=[46,45,68,16,1] #某顾客所点菜品单价
print("菜品名称","数量","小计")
_____
for i in range(len(dis)):
print(gs(dis[i]),num[i]," ",num[i]*mon[i])
s=s+num[i]*mon[i]
if s>=r:
total=s*z
else:
______
print("消费合计:",s)
print("应收现金:",total)
19.求解a到b内(包含a和b)所有的质数,并对每个质数的每一位数字求和。请完善程序。程序如下:
import math
def IsPrime(i):
if i==1:
return False
for j in range(2,int(math.sqrt(i))+1):
if____:
return False
return True
a=int(input("请输入a:"))
b=int(input("请输入b:"))
summ=0
for i in range(a,b+1):
if IsPrime(i):
________
while t>0:
summ=summ+t%10
_________
print("数字和为:",summ)
20.广场上有许多(有数百人)小朋友在玩分组游戏,当他们分成三人一组时,发现最后多出两个;当他们分成五人一组时,发现最后多出三个;当他们分成七人一组时,发现最
后多出两个。编写程序求出这些小朋友的可能人数。
实现上述功能的程序如下,请在程序划线处填入合适的代码。
________
a=[ ]
for i in range(100,1000):
if_____________:
a.append(i)
total + = 1
print("这小朋友总的人数有:")
for j in range(len(a)):
print(____,end='、')
print('')
print('可能情况数为:',total,'种')
划线处①处应该填入的语句为: ;
划线处②处应该填入的语句为: ;
划线处③处应该填入的语句为: 。
21.程序设计:在舞会上,男生、女生各自排成一队。舞会开始时,依次从男队和女队的队头各出一人配成舞伴。跳完后的两人重新回到队尾。
例如:boy=['Alex','Steven','Jack'],girl=['Ada*,'Babs'.,'Danla','Jane']
输出:
Turn1:(Alex,Ada)
Turn2:(Steven,Babs)
Turn3:(Jack,Danla)
Turn4:(Alex,jane)
……
Turn12:(Jack,jane)
代码如下:
boy=['Alex','Steven',‘Jack']
girl=['Ada','Babs','Danla','Jane']
for i in range(12):
x,y= ① #出队
print(“Turn{:2}):({},{})".format(i+1,x,y))
boy.append( ② ) #再进队
girl.append( ③ ) #再进队
(1)程序代码中①处正确的代码是(_______)。
A.boy.pop(l).girl.pop(l) B.girl.pop(l),boy.pop(l)
C.boy.pop(0),girl.pop(0) D.girl.pop(0),boy.pop(0)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论