【编程】青少年编程等级考试Python编程二级试卷2
一、选择题
1.下面Python代码运行后,a、b的值为(  )
a=23
b=int(a/10)
a=(a-b*10)*10
b=a+b
print(a,b)
A.23 2    B.30 20    C.30 32    D.3  2
2.关于python中的函数,以下描述错误的是(  )。
A.函数能完成特定的功能,对函数的使用不需要了解函数内部实现原理,只要了解函数的输入输出方式即可
B.使用函数的主要目的是减低编程难度和代码重用
C.Python 使用 del 保留字定义一个函数
D.函数是一段具有特定功能的语句组
3.Python中要生成随机数,应该使用(    )。
A.math 模块    B.random模块
C.numpy 模块    D.pygame 模块
4.解释性语言是指源代码不要求预先进行编译,在运行时才进行解释再运行,以下哪一种程序设计语言属于解释性语言(  )。
A.Python    B.C++    C.VB    D.C
5.Python语句中以rR开头的字符串表示原始字符串,则printr"\nGood")的运行结果是()
A.新行和字符串Good    B.r"\nGood"    C.\nGood    D.字符r、新行和字符串Good
6.下列不可以作为Python合法变量名的是(   
A.c0    B.2a    C.a_3    D.小河
7.在下列程序设计语言中,属于人工智能语言的是(  )。
A.Python
B.VB
C.Pascal
D.C
8.以下属于计算机高级语言的是(   
A.Python    B.自然语言    C.汇编语言    D.机器语言
9.以下Python中变量的命名正确的是( 
A.1a=4
B.print=5
C._A=2
D.a+b=3
10.下列选项中,能作为python程序变量名的是( 
A.s%1    B.3stu    C.while    D.dist
11.Python语言自带的IDLE环境的退出命令是( )
A.Esc    B.close    C.回车键    D.exit
12.Python中,表达式(21%4)+5的值是(   
A.2    B.6    C.10    D.3
13.python语言中表示“x属于区间[ab)” 的正确表达式是(
A.a x or x < b    B.a<= x and x < b    C.ax and x< b    D.a<=x or x<b
14.下列Python语句中,会导致程序运行出错的语句是(   
A.x=(y=1)    B.x,y=y,x    C.x=1;y=1    D.x=y=1
15.Pythonprint(66!=66)结果是(  )。
A.1    B.0    C.True    D.False
二、程序填空
16.(项目情境)一元二次方程ax2+bx+c=0a0),当b24ac0,方程有两个不同的实数根,当b24ac0时,方程无实数根。
(问题求解)下面的python程序实现的功能是判断方程是否有实数根。请阅读如下python程序,在空白处填写适当的表达式或语句,使程序完整。
import math
a=int(input("请输入a的值:"))
b=int(input("请输入b的值:"))
c=int(input("请输入c的值:"))
d=_____  #将表达式b24ac的值赋给变量d
if ____
    print("x1=",(-b+math.sqrt(d))/(2*a))  #输出方程的其中一个实数根
    print("x2=",(_________)          #输出方程的另一个实数根
else:
    _________    #输出“方程无实数根”
17.阅读程序。分析以下两段Python程序并回答问题。
#程序1
i=1
while i<101:
  print('把这句话打印100')
i+=1
#程序2
i=100
while i:
    print('把这句话打印100')
i=i-2
1)在程序1中,i+=1这句话的含义是______________
2)在程序1中,把这句话打印100实际输出了_____遍。
3)在程序2中,i的初值是___
4)在程序2中,把这句话打印100实际输出了_____遍。
5)在程序2中,while i 的含义是_________
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.某企业开展“运动打卡 动动有奖”活动:若员工在本月累计运动时间30小时以下,奖励0元;达到30但不足45小时奖励300元;达到45低级编程语言但不足60小时奖励450元;60小时及以上奖励
500元。小强用python编写程序实现相关功能:输入某员工本月累计运动时间(时),输出其能获得的奖励金额。
1)实现上述功能的程序如下,请在划线处填入合适的代码。
t=intinput(“请输入您本月累计运动时间(时):”))
if t<0
    print(“输入错误”)
else
    if t<30
        _
    elif t<45
        m=300
        _____
        m=450
    else
        m=500
print(“您的奖励是:”,m
2)当输入“-1”时,输出信息为_________(选填,填字母:A.输入错误 / B.您的奖励是:0 / C.您的奖励是:500
20.求解ab内(包含ab)所有的质数,并对每个质数的每一位数字求和。请完善程序。程序如下:
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):