试卷全国青少年软件编程(Python)等级考试试卷(二级)(1)程序填空阅读填空程序试题
一、程序填空
1.现有字典如下,根据题目要求,写出相关的表达式:
xingzuo = { ‘小明’:‘巨蟹座’,‘小红’:‘处女座’,‘小兰’:‘金牛座’}
(1)现要取出小红所对应的星座,写出相关表达式:
___________________________________________________________
(2)现发现,“小兰”同学的星座应该是“水瓶座”,请帮忙修改。
__________________________________________________________
(3)现发现,在字典中漏写了关于“小贝”的信息,现已知“小贝”为“双子座”,请帮忙添加。
_________________________________________________________
(4)写出删除该字典的表达式:
___________________________________________________________
2.请在空格处填写正确的代码,使程序完善。
实现功能:用辗转相除法求解两个正整数的最大公约数。
x = int(input('请输入第一个正整数:'))
y = int(input('请输入第二个正整数:'))
m = max(x,y)            #x,y中的最大值
n = min(x,y)            #x,y中的最小值
r = m%n                #求得最大值除以最小值后的余数
while r!=0:          #如果余数不等0,则进行以下循环
    m =________            #把最小值赋给m
    n =_________            #把余数赋给n
    r = m%n            #求得最大值除以最小值后的余数
print('这两个数的最大公约数为:',______)
input("运行完毕,请按任意键退出....")
3.阅读程序。
for i in range(1,10):
  for j in range(1,i+1):
      print("%d X %d=%2d"%(j,i,j*i),end=" ")
print()
1)在第一行程序中,变量i的数据范围为_________
2程序while语句流程图代码)在第二行的程序中,变量j的数据范围为_________
3)如果“%d”表示十进制数,那么%2d则表示____ 位宽的十进制数。
4)第三行程序改为print("%d X %d=%2d"%(i,j,i*j),end=" "),则本题的输出应该是_____
5)如果最后一行的print()表示换行,那么end=””的功能是_______
4.约瑟夫问题是个有名的问题:N个人围成一圈,顺序为012345,从0号这个人开始报数,报到2的将被杀掉,接下去重新开始报数,报到3的将被杀掉...以此类推,最后剩下一个,其余人都将被杀掉。例如N=6,被杀掉的顺序是:14305;最后只剩下2这个人。
llist=
n=intinput(“请输入参与人数:”))
for i in range0n-1):
llist.append[ii+1]
___________
___________
long=n
k=head
i=1
p=2
while(____ ):
    if i==p-1:
        t=llist[k][1]
        print(llist[t][0])#索引为t的删除
                  __________________
        if t==head:
                  ___________________
        i=1
        p+=1
        long=long-1
        k=llist[k][1]
        ______________
    i+=1
print(llist[head][0])
5.50以内所有5的倍数的和。
6.利用for循环,分别计算1--100中奇数的和、偶数的和。
7.编写程序,到并输出100以内的偶数个数。
8.编写程序,实现从键盘输入数据,实现输入数据转换成大写并输出
9.求水仙花数(一个三位数,其各位数字立方和等于该数字本身)
10.操作说明:打开文件“Y:/2/2.py”,在代码窗口指定位置<1><2>处修改完善程序代码,不得增加、删除语句或改变程序原有结构,操作结束后保存。
以下程序段的功能是:输入一个正整数n1100),输出它的约数的个数。
s=0
n=int(input(“请输入一个正整数:”))
if  n<1 or n>100
      exit  #输入的数不符合要求,退出
for  i  in range(1,n+1):
    if n//i=0:___<1>
      s=s+i  <2>
print(“约数的个数是:s)
11.(最大公约数)用辗转相除法求两个正整数的最大公约数。
代码如下:
def gcd (m,n):
r     
while r!0:
mn
n     
     
return     
aint(input(‘请输入a的值:’))
bint(input(‘请输入b的值:’))
print(‘最大公约数是:'      )
填空:
________    ________    ________    ________    ________
12.地球绕太阳的运行周期为3655小时4846秒(合365.24219天),即一回归年。公历的平年只有365天,比回归年短约0.2422天,每四年累积约一天,把这一天加于2月末(即229日),使当年的时间长度变为366天,这一年就是闰年。判断某一年是否是闰年的方法是年份数能被4整除,但不能被100整除,或者年份数能被400整除。以下是一段用于判断某一年是否是闰年的程序。
请将上面程序框中空格处的内容填写完整,其中①处填写代码注释
___________  ______    __________  _______  _______
13.小王编写了“字符串缩写”程序,实现如下功能:
1.输入一串由英文字母和数字组成的字符串,
2.如果字符串有连续字符构成的升序段(后面字符的ASCII值比前面的字符的ASCII值大1),则把升序段缩写成由第一个字符加上“”和最后一个字符组成的新字符段,
3.例如:字符串为“abcdf12345becomexy”,则缩写成“a-df1-5becomex-y”。
程序运行时,输入一串字符,输出缩写的字符串,程序运行效果如下图所示:
 
实现上述功能的程序如下,请在程序划线处填入合适的代码。
s=input("请输入字符串s:")
_______
flag = False
result=" "
for i in range( 0 , k-1):
if ___________________ :
result=result+s[i]+"-"
flag = True
elif ord(s[i]) ! = ord(s[i+1])-1:
result=result+s[i]
          _____
result=result + s[i+1]
print("缩写后的字符串为:",result)
划线处处应该填入的语句为:                             
划线处处应该填入的语句为:                             
划线处处应该填入的语句为:                             
14.“百鸡百钱”问题是一个有名的数学问题,出自《张丘建算经》。其内容是:公鸡5文钱1只,母鸡3文钱1只,小鸡3只1文钱,用100文钱买100只鸡,其中公鸡、母鸡和小鸡都必须要有,问公鸡、母鸡和小鸡各多少只?
1)请在空格处填写正确的代码,使程序完善实现以下功能。
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,_______):          #公鸡只数可能为1-20
    for hen_num in range(1,_________):      #母鸡只数可能为1-33
        for chick_num in range(1,101): #3小鸡)只数可能为1-100
            money1=cock_num*cock_price+hen_num*hen_price+chick_num/threechick_price
            num1=cock_num+hen_num+chick_num
            if money1==money and num1==num:
                print (cock_num,hen_num,__________)
input("运行完毕,请按回车键退出...")
2)运行程序,运行结果如图所示。
15.完善代码并保存。
实现功能:从键盘输入10个学生的测试成绩,输出最高分和最低分。
cj=[]
for i in range(0________):
    x=float(input("请输入一个数"))
    cj.append(________)     
print(max(cj) min(________))
input("运行完毕,请按回车键退出...")
16.小明用Python语言写了一个货币兑换程序如下:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。