2022年信息技术学业水平合格性考试模拟考试程序设计题 Python(含答案)

资源下载
  1. 二一教育资源

2022年信息技术学业水平合格性考试模拟考试程序设计题 Python(含答案)

资源简介

学号: 姓名: 班级:
试卷 1
2、用 Python 编辑器打开文件“输出 1 千到 1 万之间的素数.py”,进行以下操作并保存结果。
(1)素数也叫质数,是除了 1 和它自身没有其它因数的自然数。
(2)根据数学原理,判断一个数 n 是否为素数只要判断 2 到 n 的算术平方根之间是否存在 n 的因数,该算法 对于大整数的判断速度有明显提高。请填空完善该程序,实现功能:求 1000 到 10000 之间的素数。
(3)编写完成后原名保存并关闭应用软件。 注:程序修改时,请把下划线及序号删除;不能删除注释语句。
# 输出 1000-10000 之间的素数
def isPrime(n): #定义函数 isPime 判断参数 n 是否为素数,是返回 True,否则返回 False if n <= 1: #小于等于 1 的数不是素数
return False
for i in range(2, int( ① ) + 1): # i 的范围 2 到 n 的平方根取整,平方根用 n 的 0.5 次方计算
if ②__: # 如果 i 是 n 的因数,则返回 False return False
return True
for x in range(1000,10001):
if ③ : # 调用函数进行判断 x 是否为素数
print(x)
① n**0.5 ② n%i==0 ③ isPrime(x)
测试用例
输出:1000 至 10000 之间的全部素数
3、用 Python 编辑器打开文件“找出三个数中最大的数.py”,进行以下操作并保存结果。
(1)请填空完善该程序,实现功能:输入任意三个不同的整数,输出其中最大的一个数;
(2)编写完成后原名保存并关闭应用软件。 注:程序修改时,请把下划线及序号删除;不能删除注释语句。
a=int(input("请输入第一个数:"))
① =int(input("请输入第二个数:"))
c=int(input("请输入第三个数:"))
if a>b:

else:
max=b if ③ _:
max=c print( ④ )
① b ② max=a ③ maxmax ④ max
测试用例
输入:输入三个正整数 输出:最大数
(
2022
年信息技术学业水平合格性考试模拟考试程序设计

)
(

1

,共
1
5

) (
2021

12

)
试卷 2
2、用 Python 编辑器打开文件“求 pi 的近似值.py”,进行以下操作并保存结果。
(1)填空完善该程序,实现功能:尝试求解的近似值。

求解关系式为:
1 1 1 1 。
4 3 5 7
(2)编写完成后原名保存并关闭应用软件。 注:程序修改时,请把下划线及序号删除;不能删除注释语句。
# 求 pi 的近似值.py
sum,a,b,t=0.0,1,1.0,1.0 #给各参数依次赋值
while b<1000: sum=sum+ ① b= ②
a= ③
t=a/b
pi = ④
print("pi 的值是{:.20f}".format(pi)) # 输出 20 位浮点型数值
① t ② b+2 ③ -a ④ sum*4 或 4*sum
测试用例
将 while b<1000,修改为 while b<100000,更多项数参与运算后 pi 值更接近实际值,测试后恢复为原值。
3、王同学每天英语单词测试成绩目前只能达到 50 分,满分 150。他制定了每天提高成绩 10%的目标,多久可以到 达 130 分?用 Python 编辑器打开文件“提高成绩.py”,进行以下操作并保存结果。
(1)请填空完善该程序,实现功能:求出王同学多少天成绩能提高到 130 分。
(2)编写完成后原名保存并关闭应用软件。 注:程序修改时,请把下划线及序号删除;不能删除注释语句。
# 提高成绩.py
# 请删除原题里序号及下划线,填写正确代码。
p = ①
n = 0
while p < ② : p+= p * ③ n+=1
print("n=",__ ④ )
input("运行完毕,请按回车键退出...")
① 50 ② 130 ③ 0.1 ④ n
测试用例
输出:n=11
试卷 3
2、用 Python 编辑器打开文件“求最小公倍数.py”,进行以下操作并保存结果。
(1)算法描述:最小公倍数初始值设为较大数,如果能整除,则较大数就是最小公倍数;如果不能整除,则 让较大数乘以 2,3,4......递增 1 的自然数,直到能整除为止。如:输入“11,5”时,输出结果为“55”,输入“8,12” 时,输出结果为“24”。
(2)请填空完善该程序,实现功能:键盘上输入两个自然数 m 和 n(1≤n≤m≤1000),输出这两个自然数的最小 公倍数。
(3)编写完成后原名保存并关闭应用软件。 注:程序修改时,请把下划线及序号删除;不能删除注释语句。
# 求最小公倍数 m=int(input("请输入自然数 m:")) n=int(input("请输入自然数 n:"))
i=1
if m(

3

,共
1
5

) (
2021

12

)
m,n= ①
#两数交换(用大数翻倍)
s=m #s 的初始值较大数
while ② :
i = i+1
s = ③
print( ④ )
① n, m ② s%n!=0 ③ m*i 或 i*m ④ s
测试用例
输入:35 45 输出:315
3、班级最后一排有 6 名学生,体育委员想编程实现最高身高和最矮身高。用 Python 编辑器打开文件“最高和最矮.py”, 进行以下操作并保存结果。
(1)请填空完善该程序,实现功能:键盘依次输入 6 名同学身高,输出最高身高和最矮身高的值。
(2)编写完成后原名保存并关闭应用软件。 注:程序修改时,请把下划线及序号删除;不能删除注释语句。
# 最高和最矮.py,请删除原题里序号及下划线,填写正确代码。
height=[]
for i in range(0, ① ): x=float(input("请输入身高:")) height.append( ② )
print(max( ③ ), min(height))
input("运行完毕,请按回车键退出...")
① 6 ② x ③ height
测试用例
输入:175 165 155 192 178 168 输出:192 155
试卷 4
2、用 Python 编辑器打开文件“编码.py”,进行以下操作并保存结果。(见下左)
(1)请填空完善该程序,实现功能:某种编码由六位二进制码组成,前三位表示方向,后三位表示距离。输 入一组六位二进制码,将编码翻译成方向和距离,距离值为每组编码后三位二进制码转换为十进制数的值。
(2)编写完成后原名保存并关闭应用软件。 注:程序修改时,请把下划线及序号删除;不能删除注释语句
(

4

,共
1
5

) (
2021

12

)
''' 某种编码由六位二进制码组成,前三位表示方向,后三位表示距离。 输入一组六位二进制码,将编码翻译成方向和距离,距离值为每组 编码后三位二进制码转换为十进制数的值。
'''
s =input("输入六位二进制:")
n = len(s)
i = 0
while i <= n-1:
c =s[i:i+3]
if c == "000":
d = "东" elif c == "001":
d = "东南" elif c == "010":
d = "南"
elif c == "011":
d = "西南" elif c == "100":
d = "西" elif c == "101":
d = "西北" elif c == "110":
d = "北" else:
d = "东北" b1 = int(s[i + 3])
b2 = int(s[i + 4])
b3 = int(s[ ① ])
# 反转三位数.py
x= ① (input("请输入一个任意三位 整数:"))
ge= ②
shi=x//10%10 bai= ③
④ =ge*100+shi*10+bai print(y)
第 2 题 编码.py
① int(s[i+5])
② b1*2**2 + b2*2 + b3
③ d
④ i=i+6
测试用例
输入:110101 输出:北 5
第 3 题 反转三位数.py
① int
② x%10
③ x//100
④ y
v= ②
#实现三位二进制编码到十进制的转化
print( ③ +" " + str(v)) #按格式要求打印输出,如:东 7
④ #调整 i 的值
测试用例
输入:153 输出:351
3、用 Python 编辑器打开“反转三位数.py”,进行以下操作并保存结果。(见上右)
(1)请填空完善该程序,实现功能:输入一个任意三位整数,将它反转输出,例如 369 反转成 963。
(2)编写完成后原名保存并关闭应用软件。 注:程序修改时,请把下划线及序号删除;不能删除注释语句。
试卷 5
2、用 Python 编辑器打开文件“打的计费.py”,进行以下操作并保存结果。
(1)请填空完善该程序,实现功能:2 公里(包括 2 公里)内,起步价为 5 元,超过 2 公里部分(不足整公里 的,向上取整),每公里 1.6 元。
(2)编写完成后原名保存并关闭应用软件。 注:程序修改时,请把下划线及序号删除;不能删除注释语句。
import ①
# 引用 math 库
s = ② (input("请输入你要去目的地距离出发点的公里数:"))
if ③ : # 2 公里(包括 2 公里)内
cost = 5 else:
cost = 5+math.ceil(s-2)*1.6 print("你的打的费用是", ④ , "元")
① math ② float ③ s<=2 ④ cost
测试用例
输入: 1.9 2 2.1 8
输出: 5 5 6.6 14.6
3、用 Python 编辑器打开文件“计算 1-2+3-4…+99-100 的值.py”,进行以下操作并保存结果。
(1)请填空完善该程序,实现功能:计算表达式 s=1-2+3-4……+99-100 的值并输出结果;
(2)编写完成后原名保存并关闭应用软件。 注:程序修改时,请把下划线及序号删除;不能删除注释语句。
s=0
for i in range(1, ① ):
if ② :
s=s-i
else:

print( ④ )
① 101 ② i%2==0 ③ s=s+i ④ s
测试用例
输出: -50
试卷 6
2、用 Python 编辑器打开文件“尼拉坎特哈级数求 π 近似值.py”,进行以下操作并保存结果。
(1)计算 π 的方法有很多种,印度数学家尼拉坎特哈发现了一个可用于计算 π 的无穷级数,其展开公式如下:
(2)请观察各分数项符号和分母的规律,编写代码实现求项数为 100 时的 π 近似值。
(3)编写完成后原名保存并关闭应用软件。 注:程序修改时,请把下划线及序号删除;不能删除注释语句。
op=1 #op 保存分数项前的符号,取值为 1 或-1
pi=3
for i in range(2, 101, ① ):
pi = pi + ②
# 循环迭代求 pi 的近似值
op = - ③
# 分数项前的符号系数变成原来的相反数
print( ④ _)
① 2 ② 4*op/(i*(i+1)*(i+2)) ③ op ④ pi
测试用例
输出: 的近视值;
修改“for i in range(2, 101, ① )”为“for i in range(2, 10001, ① )”,增加项数后值更精确。
3、用 Python 编辑器打开文件“求圆的周长和面积.py”,进行以下操作并保存结果。
(1)请填空完善该程序,实现功能:输入圆的半径 r,计算它的周长和面积并输出。 例如: 输入:1
输出:6.28 3.14
(2)编写完成后原名保存并关闭应用软件。 注:程序修改时,请把下划线及序号删除;不能删除注释语句。
r=float(input("请输入圆的半径:"))


# 计算圆的周长 c,其中π用 3.14 表示
# 计算圆的面积 s
③ (c,s) #输出圆的周长 c 和面积 s
c=2*3.14*r ② s=3.14*r*r ③ print
测试用例
输入: 1 2 4
输出: 6.28 3.14 12.56 12.56 25.12 50.24
试卷 7
2、用 Python 编辑器打开“能力值.py”,进行以下操作并保存结果。
(1)俗话说“日有所进,月有所长”,假设每个人的初始能力值是 1,经过一天的努力学习和工作后,能力会 比之前增长 1%。
(2)如果周一到周五努力学习提升能力,而周末休息,且休息一天能力就降低 1%。同时通过取余运算来判断 某一天是学习日还是休息日,如果余数是 0 或者 6,那么这一天就是休息日;余数是其他数值时,这一天是学习日。
(3)请完善程序,计算两种情况下,一年后能力值增长情况。 注:程序修改时,请把题目序号删除;不能删除注释语句。
#天天向上
dayup=1 #设置 dayup 为能力值,factor 为能力变化幅度
factor=0.01
for i in range(0, ① ):
dayup = ② * (1+factor)
print("天天向上的能力值:%.2f" % dayup)
#五上二下
dayup=1
for i in range( ③ ):
if ④ in [6, 0]: # 判断是否为休息日,是则能力下降;否则能力上升。
dayup = dayup*(1-factor)
else:
dayup = dayup*( ⑤ )
print("向上 5 天向下 2 天的能力值:%.2f" % dayup) # 打印结果
① 365 ② dayup ③ 1,366 ④ i%7
⑤ 1+factor
测试用例
输出:天天向上的能力值:37.78 向上 5 天向下 2 天的能力值:4.72
3、用 Python 编辑器打开“求阶乘和.py”,进行以下操作并保存结果。
(1)请填空完善该程序,实现功能输出:s=1!+2!+3!+4!+5!说明:n!=1×2×3×4…×n,例如:3!=1×2×3。
(2)编写完成后原名保存并关闭应用软件。 注:程序修改时,请把下划线及序号删除;不能删除注释语句。
#请删除序号及下划线,填写正确的代码,使程序完善。
s=0
n= ①
for i in range(1, ② ):
n=n*i
s= ③
print("1!+2!+3!+4!+5!=",s)
① 1 ② 6 ③ s+n
测试用例
输出: 153
试卷 8
2、用 Python 编辑器打开文件“成绩等级.py”,进行以下操作并保存结果。
(1)学期末,李老师要根据学生的总成绩给出相应的等级:成绩 90 分及以上(包含 90 分)等级为“优秀”, 成绩在 90 和 75(包含 75 分)之间等级为“良好”,成绩在 75 和 60(包含 60 分)之间等级为“合格”,60 分以下 为“不合格”。其中信息技术课的“总成绩=0.3*平时成绩+0.7*期末成绩”(注意:平时成绩和期末成绩的满分均为
100 分)。
(2)请填空完善该程序,实现功能:输入平时成绩和期末成绩,输出学生的成绩等级。
(3)编写完成后原名保存并关闭应用软件。 注:程序修改时,请把下划线及序号删除;不能删除注释语句。
#此程序功能是实现输出成绩等级。
pscore=int(input("请输入平时成绩:"))#输入平时成绩
(

10



15

) (
2021

12

)
qscore= ①
score= ②
if score>100 or score<0:
#请输入期末成绩
#计算总成绩
print("你的成绩输入有误")
elif ③ : # 优秀等级的条件
print("优秀")
elif score>=75:

elif score >= 60:
# 输出相应等级
print("合格")
⑤ :
print("不合格")
① int(input("请输入平时成绩:")) ② pscore*0.3+qscore*0.7
③ score>=9 0 ④ print("良好") ⑤ else
测试用例
输入: 101 -20 99 90 89 75 74 60 59 40
输出: 你的成绩输入有误 优秀 良好 合格 不合格
3、用 Python 编辑器打开文件“求组合数.py”,实现以下功能并保存结果。
(1)请填空完善该程序,实现功能:计算组合数 C n
n! ,其中 n!=1×2×……×n,m 和 n 均为正整数,
且 m≤n≤1000。
(2)编写完成后原名保存并关闭应用软件。
(
)def fac(n): #用递归的方法求 n!
if n == 0:
m
m!*(n m)!
else:
return 1
return n* ①
测试用例
输入: 10 2 100 4
输出: 45 3921225
n=int(input("请输入正整数 n 的值:"))
m=int(input("请输入正整数 m 的值(m<=n):"))
c = ②__//(fac(m)* ③ )
print(c)
① n*fac(n-1) ② fac(n) ③ fac(n-m)
试卷 9
2、用 Python 编辑器打开文件“区间测速.py”,进行以下操作并保存结果。
(1)国内很多路段都启用了区间测速,所谓区间测速,是在同一路段上布置两个监测点,基于车辆通过前后 两个检测点的时间,来计算车辆在该路段上平均行驶速度。现在有一段长为 3 千米的区间测速桥梁,车辆的限速是
60 千米/时。
(2)请你填空完善该程序或删除原有程序自己编写一段程序,来判断某车辆在此测速路段是否超速。
(3)编写完成后原名保存并关闭应用软件。 注:程序修改时,请把下划线及序号删除;不能删除注释语句。
s = 3
time = float( ① ("请输入车辆通行时间(用秒计时):"))
v = ②
if ③ :
print("正常行驶,祝你一路顺风!")
else: print("你的车速为",round(v,1),"千米/时") print("你已超速,请安全驾驶")
① input ② 3*3600/time*3600 ③ v<=60
测试用例
输入: 240 180 179 150
输出: 正常行驶,祝你一路顺风! 正常行驶,祝你一路顺风! 超速提示
3、用 Python 编辑器打开文件“水仙花数.py”,进行以下操作并保存结果。
(1)请填空完善该程序,实现功能输出所有水仙花数。水仙花数是指一个三位数它的每一位上的数字的 3 次 方之和等于它本身。例如:三位数 153 满足:13+53+33=1+125+27=153,则 153 是水仙花数。设变量 i,j,k 分别用 于存放个位、十位和百位上的数。
(2)编写完成后原名保存并关闭应用软件。 注:程序修改时,请把下划线及序号删除;不能删除注释语句。
#请删除序号及下划线,填写正确的代码,使程序完善。
for x in range(100,1000):
i= ①
#个位数
j=(x//10)%10 #十位数
k= ②
if x== ③ :
print("水仙花数是",x)
#百位数
① x%10 ② x//100 ③ i**3+j**3+k**3 / i*i*i + j*j*j + k*k*k
测试用例
输出: 153 370 371 407
试卷 A
2、用 Python 编辑器打开“考生文件夹\113”下的文件“打印矩形.py”,进行以下操作并保存结果。
(1)请填空完善该程序,实现功能:按程序提示依次输入行和列的数字,则按行列打印由“*”组成的矩形。
测试用例 例如,按提示 输入: 请输入行数:3 请输入列数:5
屏幕将打印图形 即输出: *****
*****
*****
(2)编写完成后原名保存并关闭应用软件。
注:程序修改时,请把下划线及序号删除;不能删除注释语句。
a=int(input("请输入行数:"))
b= ①
for i in range( ② ):
for j ③
print( ④ _,end='') #end=''表示接上一个输出项后输出,不换行
print()
① int(input("请输入行数:")) ② 0, a
③ 0, b ④ "*"
3、用 Python 编辑器打开“考生文件夹\96”下的文件“三角形面积.py”进行以下操作并保存结果。
( 1 ) 海 伦 公 式 是 利 用 三 角 形 的 三 条 边 的 边 长 直 接 求 三 角 形 面 积 的 公 式 , 表 达 式 为 :
,其中 p 是三角形的周长的一半。
(2)请填空完善该程序,输入三条边长,判断能否构成三角形。如果能构成三角形就计算该三角形的面积并 输出,否则提示不能构成三角形。
(3)编写完成后原名保存并关闭应用软件。 注:程序修改时,请把下划线及序号删除;不能删除注释语句。
#请删除序号及下划线,填写正确的代码,使程序完善。
import math a=float(input("请输入第一条边长:")) b=float(input("请输入第二条边长:")) c=float(input("请输入第三条边长:")) if(a+b>c)and(a+c>b)and( ① ):
p= ②
s=math.sqrt(p*(p-a)*(p-b)*(p-c))
print(a,b,c,"能构成三角形!","三角形的面积为:", ③ )
④ :
print(a,b,c,"不能构成三角形!")
① b+c>a ② (a+b+c)/2 ③ s ④ else
测试用例
输入: 5 / 4 / 3 8 / 6 / 2 18 10 5
输出: 构成三角形,面积 6 不能构成三角形! 不能构成三角形!
试卷 B
2、用 Python 编辑器打开文件“干支纪年、py”,进行以下操作并保存结果。
(1)干支纪年是一种纪年历法,中国历史上很多重大事件都是以此命名的,例如:1894 年甲午战争,1911 年 辛亥革命等。把十天干(甲、乙、丙、丁、戊、己、庚、辛、壬、癸)与十二地支(子、丑、寅、卯、辰、巳、午、 未、申、酉、戌、亥)顺序相配来记录年份,如:甲子、乙丑、丙寅…………一个周期为 60 年。对干公元后年份 的干支纪年计算方法为:公元年数先减 3 得到基数,基数除以 10,余数是天干,基数除以 12 余数则是地支。例如:
1894-3=1891,1891 除以 10 余 1,天干是“甲”,1891 除以 12 余 7,地支是“午”,即 1894 年为甲午年。如果余数 为 0,则为天干或地支列表中的最后一位,辛亥年的地支就是这样求得。
(2)请填空完善该程序,运行后按程序提示输入:
测试用例 请输入年份: 1894 2021 2023
屏幕将输出结果为:1894 年是:甲午年 辛丑年 癸卯年
(3)编写完成后原名保存并关闭应用软件。 注:程序修改时,请把下划线及序号删除;不能删除注释语句。
a = ['甲', '乙', '丙', '丁', '戊', '已', '庚', '辛', '壬', '癸']
b = ['子', '丑', '寅', '卯', '辰', '巳', '午', '未', '申', '酉', '戌', '亥']
year1=int(input('请输入年份:'))
year2= ①
x=year2% ②
if x==0:
x=10
y= ③
if y==0:
y= ④
print(year1,'年是:',a[x-1]+b[ ⑤ ]+'年')
① year1-3 ② 10 ③ (year1-3)%12 ④ 12
⑤ y-1
3、用 Python 编辑器打开文件“判断正负数还是零、py”,进行以下操作并保存结果。
(1)请填空完善该程序,实现功能:输入一个数,如果这个数大于 0 输出“正数”,如果小于 0 输出“负数”, 如果等于零则输出“零”。
(2)编写完成后原名保存并关闭应用软件。 注:程序修改时,请把下划线及序号删除;不能删除注释语句。
x=float(input("请输入一个数:"))
if ①
print(x,"为正数")

print(x,"为负数")
else:

① x>0 ② elif x<0 ③ print(x,"为零")
测试用例
输入: 1 -20 0
输出: 1 为正数 -20 为负数 0 为零
试卷 C
2、用 Python 编辑器打开文件“值班.py”,进行以下操作并保存结果。
(1)请填空完善该程序,实现功能:某医院内科有 a,b,c,d,e,f,g 七位医生,他们在一星期内每天值一次班,
排班的要求为:
(1)a 医生值班比 c 医生晚一天 (2)d 医生值班比 e 医生晚两天
(3)b 医生值班比 g 医生早三天 (4)f 医生值班日在 b、c 医生值班日之间,且在星期四。
打印出每个医生的值班表
(2)编写完成后原名保存并关闭应用软件。 注:程序修改时,请把下划线及序号删除;不能删除注释语句。
'''
某医院内科有 a,b,c,d,e,f,g 七位医生,他们在一星期内每天值一次班,根据排班要求打印出值班表。
'''
# 用列表结构列出 Monday~Sunday days=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday", ① ] for a in range(7):
for b in range(7):
if a!=b:
for c in range(7):
if (c!=a) and (c!=b):
for d in range(7):
if (d!=a) and (d!=b) and (d!=c):
for e in range(7):
if (e!=a) and (e!=b) and (e!=c) and (e!=d):
for f in range(7):
if (f!=a) and (f!=b) and (f!=c) and (f!=d) and (f!=e):
for g in range(7):
if (g!=a) and (g!=b) and (g!=c) and (g!=d) and (g!=e) and (g!=f):
# 用条件表达式表示出符合要求的排班
if (a == c+1) and (d == ② ) and (b == g-3) and (f > b) and (f
< c) and (__③ ):
# 打印输出每个医生的排班结果 print("a 医生:", ④ , '\n') print("b 医生:",days[b],'\n')
print("c 医生:",days[c],'\n') print("d 医生:",days[d],'\n') print("e 医生:",days[e],'\n') print("f 医生:",days[f],'\n') print("g 医生:",days[g],'\n')
① "Sunday" ② e+2 ③ f==3 ④ days[a]
测试用例 输出: a 医生: Sunday b 医生:Tuesday c 医生: Saturday d 医生: Wednesday
e 医生: Monday f 医生: Thursday g 医生: Friday
3、极差又称范围误差,即一组数据中,最大值减最小值后所得数据。用 Python 编辑器打开文件“极差.py”,请完
善程序并保存结果。
(1)请填空完善该程序
n=int(input("请输入一个整数:"))
m=int(input("请输入一组数据的第一个数:"))
实现功能:求出一组数据中的极差并输出。 ① =m
(2)编写完成后原名保存并关闭应用软件。 注:程序修改时,请把下划线及序号删除;
不能删除注释语句。
① min
② min
③ max=t
④ max-min
测试用例 输入:5 / 190 185 155 160 120 输出:70
max=m
for i in range(1,n): t=int(input("请输入后续的数:")) if t< ② :
min=t if t>max:

print( ④ ) #输出极差的值
input("运行完毕,请按回车键退出…")
试卷 D
2、用 Python 编辑器打开文件“麦粒.py”,进行以下操作并保存结果。
(1)《宰相的麦子》讲的是一位国王要奖励国际象棋发明者,奖励方法为在棋盘上第一格放一粒麦子,第二格 放二粒,第三格放四粒……按后面一格的麦子总是前一格麦子数的两倍这个比例,放满整个棋盘 64 格格子。结果 倾全国之力也无法完成这个奖励。相比较古代,现在生产力水平有了大幅度提高,2020 年我国粮食总产量 66949 万 吨,1 公斤麦子大概 5000 粒左右,请利用程序计算:以 2020 年我国的粮食总产量能放满棋盘的多少格?
(2)请填空完善该程序,实现功能:计算 2020 年我国全国粮食总产量折算成麦粒的数量,输出每格棋盘放多 少粒麦子,且这些麦粒按照规则可以填满棋盘的格数。
(3)编写完成后原名保存并关闭应用软件。 注:程序修改时,请把下划线及序号删除;不能删除注释语句。
# 开始
sum=669490000000*5000 #计算麦粒的总量
wheat = ①
# wheat 为每个棋盘上放的麦子数,赋初值
count = 1 # count 为棋盘的格数
while sum>0:
sum=sum-wheat #计算放了麦粒后还剩的麦子数
#输出每格棋盘上放的麦子数,以及还剩的麦子数
print(f"第{count}格上的应放米粒数为{ ② },还剩麦粒总数为{sum}")
wheat = 2** ③
# 计算每格棋盘上的麦粒

# 棋格递增一
#输出我国 2020 年全国粮食产量可以放到棋盘的第几格
if sum==0:
print("2020 年我国全国粮食产量可以放满棋盘的",count-1,"格")
else:
print("2020 年我国全国粮食产量可以放满棋盘的", ⑤ , "格")
① 1 ② wheat ③ count
④ count+1 / count += 1 / count++ ⑤ count-2
测试用例 输出: 第 52 格上的应放米粒数为 2251799813685248,还剩麦粒总数为-1156149627370495
2020 年我国全国粮食产量可以放满棋盘的 51 格
3、用 Python 编辑器打开文件“判断 BMI.py”,进行以下操作并保存结果。
(1)请填空完善该程序,实现功能:输入身高和体重,计算出体重指数 BMI 的值。体重指数的计算方法:体 重/(身高*身高),说明:体重的单位为千克,身高的单位为米。
(2)如果体重指数 BMI 范围是 18、5~23、9 输出“符合标准”否则“不符合标准”。 注:程序修改时,请把下划线及序号删除;不能删除注释语句。
#请删除序号及下划线,填写正确的代码,使程序完善。 height=float( ① ("请输入你的身高(米):")) weight=float( ② ("请输入你的体重(千克):")) BMI= ③
if ④ _:
print("你的体重指数 BMI 为:",BMI,"符合标准!")
else:
print("你的体重指数 BMI 为:",BMI,"不符合标准!")
① input ② input ③ BMI=weight/(height*height) / BMI=weight/height/height
④ BMI>=18.5 and BMI<=23.9
测试用例 输入: 1.75 / 63 178 / 80
输出: 你的体重指数 BMI: 20.571428571428573 符合标准! 25.24933720489837 不符合标准!
试卷 E
2、用 Python 编辑器打开文件“猜数.py”,进行以下操作并保存结果。
(1)请填空完善该程序,实现功能:随机产生一个 0~99 内的整数,在给定的次数内进行猜数。如果猜的数 大,提示“大了”,如果猜的数小了,提示“小了”,如果猜对了,提示“恭喜你,答对了!”,并给出猜的次数。如 果在给出的猜测的次数内没有猜对,提示“机会用完了,再来一次!”。
(2)编写完成后原名保存并关闭应用软件。 注:程序修改时,请把下划线及序号删除;不能删除注释语句。
# 程序初始化,并随机产生一个 0-99 的整数作为秘密数
import ①
import math
# 导入随机数模块
① random
secret=random.randint(0,99)
guess=0 ② 0
tries = ②
# 尝试次数赋初值
③ tries=tries+1 / tries +=1
#给定猜测次数 n
n=6
# 打招呼 print('嗨,你好!今天我们来玩一个猜数游戏。') print('这个数字在 0-99 之间,我给你 6 次机会。')
#得到玩家猜的数,并判断大小,最多允许 n 次
while tries④ tries
⑤ secret

# 尝试次数加 1
测试用例
guess = int(input("请输入你猜的数:"))
if guess > secret:
print("大了")
elif guess < secret:
print("小了")
else:
按二分法猜数,不超过 6/7 次
print("恭喜你,答对了!猜了", ④ , "次,")
#如果给出猜测的次数内没有猜对,则提示机会用完了,再来一次。
if tries == n and guess != ⑤ :
print("机会用完了,再来一次!")
3、小明想用压岁钱环游中国,妈妈告诉他大约需要 30000 元,但现在小明只有 5000 元。他请妈妈帮忙存在银行里, 银行年利息 3.7%,小明几年能存够?用 Python 编辑器打开文件“存钱旅游.py”,进行以下操作并保存结果。
(1)请填空完善该程序,帮小明计算几年后可以环游中国。
(2)编写完成后原名保存并关闭应用软件。 注:程序修改时,请把下划线及序号删除;不能删除注释语句。
#请删除原题里序号及下划线,填写正确代码。
money=5000 year=0
① money<30000:
money= ②
year= ③
print( ④ ,"年后可以环游中国")
input("运行完毕,请按回车键退出...")
① while ② money=money*(1+0.037) / money=money*1.037 / money *= 1+0.037 / money*=10.37
③ year+1 ④ year
测试用例 输出:50
试卷 F
2、用 Python 编辑器打开文件“凯撒密码.py”,进行以下操作并保存结果。
(1)凯撒密码是一种移位密码,明文中的所有字母都在字母表上向后按照一个固定数目(密钥)进行偏移后 被替换为密文。
(2)请填空完善该程序,实现功能:输入一串字符串(message)和一个数字(key),对这串字符进行加密(向 后移位 key 位,只对 26 个英文字母加密)。
(3)编写完成后原名保存并关闭应用软件。 注:程序修改时,请把下划线及序号删除;不能删除注释语句。
import math import random import os
#定义加密函数,对字母进行加密,即向后移动 key 位,其他字符不加密。
def cipher(befmessage, key):
aftmessage = ''
for char in befmessage:
if char.isupper(): #对大写字母进行加密
code = ord('A')+(ord(char)-ord('A')+key) % 26 aftmessage = aftmessage+chr(code)
elif char.islower(): #对小写字母进行加密
code = ①__+(ord(char) - ord('a') + key) % 26
aftmessage = ② +chr(code)
else:
aftmessage = aftmessage+char#字母以外的其他字符不进行加密
return aftmessage
#主程序
message = input('请输入明文:')
key = ③ (input('请输入密钥(整数):')) # 输入数字密钥
secret = cipher(message, ④ )
print('加密后的密文是:', ⑤ )
# 结束
① ord('a') ② aftmessage ③ int ④ key
⑤ secret
测试用例 输入:I am 16 years old。 / 5 输出:N fr 16 djfwx tqi。
3、用 Python 编辑器打开文件“求奇数的和.py”,进行以下操作并保存结果。
(1)请填空完善该程序,实现功能:求 1 到 100 之间所奇数的和。
(2)编写完成后原名保存并关闭应用软件。 注:程序修改时,请把下划线及序号删除;不能删除注释语句。
s=0 #s 中存放 1-100 之间所有奇数的和
for i in range(_①_, 100, _②_):
s = ③
print(s)
① 1 ② 2 ③ s+i
测试用例 输出:2500

展开更多......

收起↑

资源预览