试题全国计算机等级考试二级Python真题及解析5程序填空阅读填空程序试题
一、程序填空
1.“百鸡百钱”问题是一个有名的数学问题,出自《张丘建算经》。其内容是:公鸡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
            if money1==money and num1==num:
                print (cock_num,hen_num,③________)            #(③小鸡数)
input("运行完毕,请按回车键退出...")
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.冠军在A、B、C、D四位同学中。A说:“不是我”,B说:“是C”,C说:“是D”, D说:“C说的不对”,已知四人中有一人说了假话。判断出到底谁是冠军。
请在空格处填写正确的代码,使程序完善。
champion=['A','B','C','D'] #设置选手列表
for i in__________: #循环读取选手编号
    cond=(i!='A') +(i=='C') + (i=='D')+(i!='D') #查符合条件的选手
溯怎么读
    if cond== _____: #说真话是否是3
        print("冠军是:",_________) #输出冠军
input("运行完毕,请按回车键退出...")
4.程序补充:
1)有5万元资金存入银行,选择“1年定期.自动转存”的存款方式,由于银行利率是不断变化的,这5年利率分别是3.25%.3%.3%.2%.1.75%5年后会有多少收益呢?调用round()函数,保留结果两位小数。
    money =_______________________________
    rate=_________________________________
    for___________________________________
      ____________________________________
    print(“5年以后存款总额:”,money,“元”)
2 某投资者购买了10万元一年期收益率3.7%的银行保证收益型理财产品。每年理财赎回后,他会提取2万元用作生活所需,余下资金仍购买此种理财。在收益率不变的情况下,多少年后本金被全部取出?
    money= ________________________________
    year= __________________________________
    while _________________________________
          _________________________________
          ________________________________
    printyear,“年后资金被全部取出”)
5.调试程序。请阅读以下程序并写出运行结果。
fruites=['banana','apple','mango']
for fruit in fruites:
  print(fruit)
a=len(fruites)
print('a=',a)
_________________
6.以下是计算s = 1+6+11+...+ 101的程序代码,请补全程序。
s=0
for i in range(1,102,    ):
s= 
print( s)
请补充完成上述程序①_________        _________
7.分析完善程序
某市出租车收费标准如下:
13公里内(含3公里),收费8
2)超过3公里但未超过6公里部分,按1.5/公里收费
3)超过6公里部分,按2.25/公里收费。
根据以上标准,输入出租车行驶的公里数,请计算顾客需付费多少元?
[算法分析]
假设总费用为p,则可以分段计算
p=8    ‘s3
p=1.5*s-3+8  ‘3<s6
p=2.25*s-6+1.5*3+8  ‘s>6
[参考代码]
a=float(input(“s=”))
if s <= 3 :
  p= 8
if         
  p=1.5*s-3+8
if s > 6 :
  p=2.25*s-6+1.5*3+8
print( p)
根据上述回答如下问题:
1)本题采用的算法是________(填:解析法/枚举法/排序法/递归法)。
2)程序代码中空白处应填写的条件是_______(填: A/B/C/D)。
A.3<s<=6      B.3<=s<=6    C.s>3 and s<6  D.s>3 Or s<=6
8.请编写一个密码登陆系统,接收用户从键盘输入的密码和你自己的密码进行比对,如果正确就显示“恭喜你进入系统”如果不正确让用户重新输入,有三次机会。
9.50以内所有5的倍数的和。
10.利用for循环,分别计算1--100中奇数的和、偶数的和。
11.输入三个同学的成绩,然后大到小排列。
12.小明设计了一个可以输入日期得到当天是年度第几天的程序,请阅读程序,完成填空(闰年判断规则:能被4整除但不能被100整除或能被400整除,闰年的2月为29天)
day=input("请输入年月日(格式举例:2000-01-05):")
year=int(day[:4])             
month=_________             
sun=int(day[8:10])             
print(year,month,sun)
f_run=[31,28,31,30,31,30,31,31,30,31,30,31]   
tall_day=0
if ______:
    for i in range(month-1):
        tall_day +=f_run[i]
    __________   
else:
    for i in range(month-1):
        tall_day +=f_run[i]
tall_day += sun
print(day+"是当年的第"+str(tall_day)+"")
1)将程序横线处补充完整
2)如输入“2020-4-19”为当年的第_____天。
13.输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
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