1.用Python编辑器打开“124”下的文件“背诵古诗.py”,进行以下操作并保存结果。
(1)中国古诗词是中华民族纷优秀文化遗产,蕴含丰富的人民智慧,背诵古诗词好处很多,诗词社团的同学综写了一个背诵古诗的程序,首先利用变量,在程序中存入完整的古诗内容,要求用户循环背诵古诗,指导背诵的版本和正确版本完全一致,退出循环。
(2)当用户背诵次数超过3,对其进行鼓励加油。
(3)编写完成后原名保存并关闭应用软件。
#背诵古诗
#存储古诗内容
poem = '空山新雨后,天气晚来秋。明月松间照,清泉石上流。'
yourpoem = input('请背诵《山居秋暝》前两句内容\n')
count = __①__ # 设置count变量用来统计背诵次数
while(poem __②__ yourpoem):
print('你还没有完成背诵,请再试一次!')
if count > __③__:
print('继续加油!相信自己!')
yourpoem = input()
count = __④__
print("背诵正确!恭喜成功!")
答案:
1.1
2.!=
3.3
4.count+1
2用Python编辑器打开“427”下的文件“保护长江濒危动物.py”,进行以下操作并保存结果。
(1)添加濒危动物“扬子鳄”,将“长尾鲋”修改为“长江鲋鱼”,删除已灭绝的水生动物“长江白鲟”。
(2)将濒危动物名单打印在同一行。
(3)编写完成后原名保存并关闭应用软件。
a=["长江白鲟","长尾鲥","长江江豚","中国大鲵","胭脂鱼","长薄鳅","中华鲟","长江鲟"]
a.___①___("扬子鳄") #添加濒危动物"扬子鳄"
___②___="长江鲥鱼" #将"长尾鲥"修改为"长江鲥鱼"
___③___ a[___④___] #删除已灭绝的水生动物"长江白鲟"
for i in a:
print("{:5}".format(i),___⑤___="") #按格式打印,不换行
答案:
1.append
2.a[1]
3.del
4.0
5.end
3用Python编辑器打开“428”下的文件“计算三角形内切圆面积.py”,进行以下操作并保存结果。
(1)三角形内切圆半径r=s/p,s为三角形面积,p为三角形周长的一半。
海伦公式求三角形面积a,b,c为边长,p为三角形周长的一半。
(3)编写完成后原名保存并关闭应用软件。
from math import *
while True:
a=___①___(input("请输入a的边长:"))
b=float(input("请输入b的边长:"))
c=float(input("请输入c的边长:"))
#判断边长是否构成三角形
if a <= 0 or b <= 0 or c <= 0 or(a+b <= c) or (a+c <= b) or (___②___):
___③___("边长输入有误,请重新输入。")
___④___:
break
p=(a+b+c)/2
s=sqrt(p*(p-a)*(p-b)*(p-c))
r=s/p
cs=pi*r*r
print("三角形内切圆的面积:%.2f" % ___⑤___) # 打印三角形内切圆面积,保留2位小数
答案:
1.float
2.b+c<=a
3.print
4.else
5.cs
4用Python编辑器打开“431”下的文件“降雨分类.py”,进行以下操作并保存结果。
(1)气象学上,降水等级的划分一般是根据24小时内的降水量来确定,具体数量关系如下表所示。
(2)已知某市各个地区的24小时降水量,存放在列表rainfall中,请完善程序,使其能够根据不同地区的降雨量数值,输出对应气象学分类。
(3)编写完成后原名保存并关闭应用软件。
#根据各地区的降雨量输出降雨分类
rainfall=[32.1,6.5,66.8,16.5,266.6] #雨量列表
for i in ___①___: #对雨量列表进行循环判断
if i<10:
print('小雨')
elif i<25:
print('中雨')
elif i<50:
print('大雨')
elif i<100:
print('暴雨')
___②___:
print('大暴雨')
else:
print(___③___)
答案:
1.rainfall
2.elif i<250
3.'特大暴雨'
5.用Python编辑器打开"434"下的文件"赋值.py",进行以下操作并保存结果。
(1)将数值9赋给变量a;
(2)将数值3赋给变量b;
(3)将表达式a/b+a的值赋给变量c;
(4)将函数float(c)的值赋给变量d;
(5)使用输出语句在屏幕上输出d的值为12.0;
(6)依次编写完成后原名保存并关闭应用软件。
#按题意写代码
___①___
___②___
___③___
___④___
___⑤___
答案:
1.a=9
2.b=3
3.c=a/b+a
4.d=float(c)
5.print("d的值为",d)
6.用Python编辑器打开“435”下的文件“判断.py”,进行以下操作并保存结果。
(1)输入两个大于零的整数a、b,判断a与b的大小,如果a大于b,则输出 a2-b的值,否则输出a+b的值。
请输入一个不为零的整数∶6
请输入一个不为零的整数∶9
15
>>>
(2)编写完成后原名保存并关闭应用软件。
#输入两个不为零的整数a、b;
a=int(input("请输入一个不为零的整数:"))
b=int(input("请输入一个不为零的整数:"))
#在以下区域中按题目要求编写代码实现相应功能。
___①___
___②___
___③___
___④___
答案:
1.if a>b:
2.print(a*a-b)
3.else
4.print(a+b)
7.用Python编辑器打开“436”下的文件“偶数和.py”,进行以下操作并保存结果。
(1)请填空完善该程序,实现功能∶“求0~50所有偶数的和”;
(2)编写完成后保存文件并关闭应用软件。
#求0~50所有偶数的和
s = ___①___
for i in range(0, ___②___, ___③___):
s = s + ___④___
print("0~50所有偶数的和为", ___⑤___)
答案:
1.0
2.51
3.2
4.i
5.s
8.用Python编辑器打开"437"下的文件"判断闰年.py",进行以下操作并保存结果。
(1)闰年的判断条件是可以被400整除,或者可以被4整除并且不能被100整除。
(2)编写自定义函数,请输入一个年份,输出该年份是否是闰年,是则输出"YES",否则输出"NO"。
(3)编写完成后原名保存并关闭应用软件。
def rn(___①___):
if(num%400==0 or num%4==0 ___②___ num%100!=0):
return "YES"
___③___:
return "NO"
year=___④___(input("请输入年份:"))
print(___⑤___)
答案:
1.num
2.and
3.else
4.int
5.rn(year)
9用Python编辑器打开“439”下的文件“因子个数.py”,进行以下操作并保存结果。
(1)编写程序实现以下功能∶输入一个正整数,统计该数因子的个数。
(2)编写完成后原名保存并关闭应用软件。
x=int(input("请输入一个正整数:"))
s=___①___ #存放因子的变量初始化
for i in range(1,___②___):
if(___③___): #判断是否是因子
s=___④___
print(___⑤___)
答案:
1.0
2.x+1
3.x%i==0
4.s+1
5.s
10.用Python编辑器打开“440”下的文件“打印图形.py”,进行以下操作并保存结果。
(1)请填空完善该程序,实现功能∶打印由n行短横线和星号组成的等腰三角形,n由键盘输入。
(2)测试程序∶输入数字5,则打印出如下图形。
(3)编写完成后原名保存并关闭应用软件。
n = ____①____(input('输入三角形行数:')) #三角形的行数
for i in range(n):
print('-'*(n-i-1)+'*' * (____②____)+ ____③____)
答案:
1.int
2.2*i+1
3.'-'*(n-i-1)
11.用Python编辑器打开"441"下的文件"冰雹猜想.py",进行以下操作并保存结果。
(1) 冰雹猜想是指:一个正整数,如果是奇数就乘以3再加1,如果是偶数就对它除以2(如下图),这样经过若干个次数,最终回到1。无论这个过程中的数值加问庞大,就像瀑布一样坠落,在经过若干次的变换之后也必然会到纯偶数:4-2-1。
(2) 请填空完善该程序,实现功能:键盘上输入任意一个正整数,将其按冰雹猜想的规则进行拆解,输出每一步折解的值和总步数,验证其是否符合冰雹猜想。
(3)编写完成后原名保存并关闭应用软件。
x=____①____(input('请输入任一正整数:'))
n=0
while(____②____):
if(x%2!=0):
x=____③____
else:
x=int(x/2)
print(____④____ ,end=' ')
n=____⑤____
print()
print('总步数:',n)
答案:
1.int
2.x!=1
3.3*x+1
4.x
5.n+1
12.用Python编辑器打开“445”下的文件“进制转换.py”,进行以下操作并保存结果。
(1)输入一个十进制正整数,输出该数的十六进制数。例如输入∶167,输出∶A7。
(2)编写完成后原名保存并关闭应用软件。
n = __①__(input("请输入一个十进制正整数:"))
# 十六进制的各个数码表示成列表
num16 = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", __②___]
a = ''
while n>0:
r = n % ___③___ # 对16取余数
a = ___④__ + a # 对应余数,从十六进制的数码列表中取出相应的值
n = n//16
print("该数的十六进制数是:", ___⑤___) # 输出
答案:
1.int
2."F"
3.16
4.num16[r]
5.a
13.用Python编辑器打开“447”下的文件“素数个数.py”,进行以下操作并保存结果。
(1)请填空完善该程序,实现功能∶编写程序输出10000以内的素数的个数。
(2)编写完成后原名保存并关闭应用软件。
__①__ prime(n): # 定义函数,判断是否为素数,是素数返回 True,否则返回 False
for i in range(2, n//2+1):
if __②___: # n能够整除i
return False # 返回False
return True
k=0
for i in range(2,10000):
if prime(i): #判断是否是素数
k += ___③___ # 计数k加1
print("10000以内的素数的个数是:", ___④__)
答案:
1.def
2.n%i==0
3.1
4.k
14.用Python编辑器打开"448"下的文件"T的近似值.py",进行以下操作并保存结果。
(1)请填空完善该程序,实现功能∶根据以下公式求π的近似值。
(2)编写完成后原名保存并关闭应用软件。
pi = 0 #pi表示圆周率,赋初始值0
f = 1 #f用来控制+、-号
for k in range(0, __①__): # range()中是循环的次数,即总项数
t = 1/(2*k + 1)
pi = pi + __②___
f = ___③___ # 符号变化,取相反数
print("圆周率 pi = ", ___④__) # 输出pi的值
答案:
1.1000000
2.f*t
3.-f
4.pi*4
15.用Python编辑器打开“449”下的文件“灯.py”,进行以下操作并保存结果。
(1)《镜花缘》是清代文人李汝珍创作的长篇小说,书中有这样一个情节:一座楼阁到处挂满了五彩编纷的大小灯球,灯球有两种,一种是大灯A∶下缀2个小灯,另一种是大灯B:下缀4个小灯。
(2)请填空完善该程序,实现功能:输入大灯和小灯的总数,对输入的数据进行校验,如果输入数据有效,则输出大灯A与大灯B的数量。
(3)编写完成后原名保存并关闭应用软件。
(4)
num1 = __①__(input("请输入大灯的数量:")) # 输入大灯的数量
__②___ = int(input("请输入小灯的数量:")) # 输入小灯的数量
if num1 > 0 and num2 > num1*2 and num2 < num1*4 and ___③___:
#对数据进行校验:大灯数量为正数,并且小灯的数量在大灯的2倍与4倍之间,并且为偶数
numA = (4*num1-num2)//2 # 计算大灯A的数量
numB = ___④__ # 计算大灯B的数量,公式为:大灯的数量-大灯A的数量
print("大灯A有:", numA, "盏,大灯B有", numB, "盏") # 输出大灯A和大灯B的数量
else:
print("数据输入有误") #如果数据有误,则输出提示语句
答案:
1.int
2.num2
3.num2%2==0
4.num1-numA
16.用Python编辑器打开"451"下的文件"计算.py",进行以下操作并保存结果。
(1)一个正整数的阶乘是所有小于及等于该数的正整数的积,并且0的阶乘为1,即n!=1×2×3×..×(n-1)×n。即 并输出A的值。
(5)编写完成后原名保存并关闭应用软件。
def jc(n): #利用递归的方法求n!
if n == 0 or __①__:
return __②___
else:
return ___③___
n=int(input('请输入正整数n:'))
if n>0: #如果n为正数,且为整数
A = ___④__ #计算A的值
print('A=', A)
else:
print('输入的数据有误,无法计算')
答案:
1.n==1
2.1
3.n*jc(n-1)
4.3**n/jc(n)
17.用Python编辑器打开"453"下的文件"兔子.py",进行以下操作并保存结果。
(1)古典问题∶有一对免子,从出生后第3个月每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如免子都不死,问每个月的免子总数为多少?
(2)程序分析∶免子的规律为数列∶1,1,2,3,5,8,13,21……此数列称为斐波拉契数列。
(3)编写完成后原名保存并关闭应用软件。
def fib(n): #利用迭代求斐波拉契数列的第n个数
r1,r2=1,1 #第1个月、第2个月初值设定
for i in range(__①__,n+1):
r1,r2=r2,__②__
return r2
month=int(input("输入需要计算的月份数:"))
print("兔子总对数为:",fib(__③__))
答案:
1.3
2.r1+r2
3.month
去年的模拟卷
1.用Python编辑器打开“Y:\121”下的文件“尼拉坎特哈级数求Π近似值.py”,进行以下操作并保存结果。(1)计算Π的方法有很多种,印度数学家尼拉坎特哈发现了一个可用于计算Π的无穷级数,其展开公式如下:
(2)请观察各分数项符号和分母的规律,编写代码实现求项数为100时的T近似值。
(3)编写完成后原名保存并关闭应用软件。
注:程序修改时,请把下划线及序号删除﹔不能删除注释语句。
op=1 #op保存分数项前的符号,取值为1或-1
pi=3
for i in range(2, 101, ___①___):
pi = pi + ___②___ # 循环迭代求pi的近似值
op = - ___③___ # 分数项前的符号系数变成原来的相反数
print(___④___)
答案:
1. 2
2. op*(4/(i*(i+1)*(i+2)))
3. op
4. pi
1、用Python编辑器打开“考生文件夹\117”下的文件“区间测速.py”,进行以下操作并保存结果。
(1)国内很多路段都启用了区间测速,所谓区间测速,是在同一路段上布置两个监测点,基于车辆通过前后两个检测点的时间,来计算车辆在该路段上平均行驶速度。现在有一段长为3千米的区间测速桥梁,车辆的限速是60千米/时。
(2)请你填空完善该程序或删除原有程序自己编写一段程序,来判断某车辆在此测速路段是否超速。
(3)编写完成后原名保存并关闭应用软件。
注:程序修改时,请把下划线及序号删除;不能删除注释语句。
s = 3
time = float(__①__("请输入车辆通行时间(用秒计时):"))
v = __②__
if __③__:
print("正常行驶,祝你一路顺风!")
else:
print("你的车速为",round(v,1),"千米/时")
print("你已超速,请安全驾驶")
答案:
1. input
2. s/(time/3600)
3. v<=60
2、用Python编辑器打开“考生文件夹\93”下的文件“求组合数.py”,实现以下功能并保存结果。
(1)请填空完善该程序,实现功能:计算组合数Cmn=n!/(m!*(n-m)!),其中n!=1×2×……×n,m和n均为大于等于0的整数,且m≤n。
(2)编写完成后原名保存并关闭应用软件。
注:程序修改时,请把下划线及序号删除;不能删除注释语句。
def fac(n): #用递归的方法求n!
if n == 0:
return 1
else:
return n*__①__
n=int(input("请输入正整数n的值:"))
m=int(input("请输入正整数m的值(m<=n):"))
c = __②__//(fac(m)*__③__)
print(c)
答案:
1.fac(n-1)
2.fac(n)
3.fac(n-m)
3、用Python编辑器打开“考生文件夹\110”下的文件“麦粒.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. 1
2. wheat
3. count
4. count=count+1
5. count-2
4、王同学每天英语单词测试成绩目前只能达到50分,满分150。他制定了每天提高成绩10%的目标,多久可以到达130分?用Python编辑器打开“考生文件夹\84”下的文件“提高成绩.py”,进行以下操作并保存结果。
(1)请填空完善该程序,实现功能:求出王同学多少天成绩能提高到130分。
(2)编写完成后原名保存并关闭应用软件。
注:程序修改时,请把下划线及序号删除;不能删除注释语句。
#请删除原题里序号及下划线,填写正确代码。
p =__ ①__
n = 0
while p < __②__:
p+= p *__③__
n+=1
print("n=",__ ④__)
input("运行完毕,请按回车键退出...")
答案:
1. 50
2. 130
3. 0.1
4. n
5、用Python编辑器打开“考生文件夹\109”下的文件“恺撒密码.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('加密后的密文是:', __⑤__)
# 结束
答案:
1. ord('a')
2. aftmessage
3. int
4. key
5. secret
6、用Python编辑器打开“考生文件夹\103”下的文件“计算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(__④__)
答案:
1. 101
2. i%2==0
3. s=s+i
4. s
7、用Python编辑器打开“考生文件夹\120”下的文件“求pi的近似值.py”,进行以下操作并保存结果。
(1)填空完善该程序,实现功能:尝试求解的近似值(求解关系式为:
)。
(2)编写完成后原名保存并关闭应用软件。
注:程序修改时,请把下划线及序号删除;不能删除注释语句。
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位浮点型数值
答案:
1. t
2. b+2
3. -a
4. sum*4
8、用Python编辑器打开“考生文件夹\94”下的文件“判断BMI.py”,进行以下操作并保存结果。
(1)请填空完善该程序,实现功能:输入身高和体重,计算出体重指数BMI的值。体重指数的计算方法:体重÷(身高×身高),说明:体重的单位为千克,身高的单位为米。
(2)如果体重指数BMI范围是18.5~23.9输出“符合标准”否则“不符合标准”。
(3)编写完成后原名保存并关闭应用软件。
注:程序修改时,请把下划线及序号删除;不能删除注释语句。
#请删除序号及下划线,填写正确的代码,使程序完善。
height=float(___①___("请输入你的身高(米):"))
weight=float(___②___("请输入你的体重(千克):"))
BMI=___③___
if ___④___:
print("你的体重指数BMI为:",BMI,"符合标准!")
else:
print("你的体重指数BMI为:",BMI,"不符合标准!")
答案:
1. input
2. input
3. weight/(height*height)
4. 18.5<=BMI<=23.9
9、用Python编辑器打开“考生文件夹\122”下的文件“输出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)
答案:
1. n**0.5
2. n%i==0
3. isPrime(x)
10、用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,"不能构成三角形!")
答案:
1. b+c>a
2. (a+b+c)/2
3. s
4. else
11、用Python编辑器打开“考生文件夹\114”下的文件“干支纪年.py”,进行以下操作并保存结果。
(1)干支纪年是一种纪年历法,中国历史上很多重大事件都是以此命名的,例如: 1894年甲午战争,1911年辛亥革命等。
把十天干(甲、乙、丙、丁、戊、己、庚、辛、壬、癸)与十二地支(子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥)顺序相配来记录年份,如:甲子、乙丑、丙寅……,一个周期为60年。
对于公元后年份的干支纪年计算方法为:公元年数先减3得到基数,基数除以10,余数是天干,基数除以12余数则是地支。例如:1894-3=1891,1891除以10余1,天干是“甲”,1891除以12余7,地支是“午”,即1894年为甲午年。如果余数为0,则为天干或地支列表中的最后一位,辛亥年的地支就是这样求得。
(2)请填空完善该程序,运行后按程序提示输入:
请输入年份:1894
屏幕将输出结果为: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[___⑤___]+'年')
答案:
1. year1-3
2. 10
3. year2%12
4. 12
5. y-1
12、极差又称范围误差,即一组数据中,最大值减最小值后所得数据。用Python编辑器打开“考生文件夹\87”下的文件“极差.py”,请完善程序并保存结果。
(1)请填空完善该程序,实现功能:求出一组数据的极差并输出。
(2)编写完成后原名保存并关闭应用软件。
注:程序修改时,请把下划线及序号删除;不能删除注释语句。
n=int(input("请输入一个整数:"))
m=int(input("请输入一组数据的第一个数:"))
__①__=m
max=m
for i in range(1,n):
t=int(input("请输入后续的数:"))
if t<__②__:
min=t
if t>max:
__③__
print(__④__) #输出极差的值
input("运行完毕,请按回车键退出...")
答案:
1. min
2. min
3. max=t
4. max-min
13、用Python编辑器打开“考生文件夹\108”下的文件“猜数.py”,进行以下操作并保存结果。
(1)请填空完善该程序,实现功能:随机产生一个0-99内的整数,在给定的次数内进行猜数。如果猜的数大了,提示“大了”,如果猜的数小了,提示“小了”,如果猜对了,提示“恭喜你,答对了!”,并给出猜的次数。如果在给出猜测的次数内没有猜对,提示“机会用完了,再来一次!”。
(2)编写完成后原名保存并关闭应用软件。
注:程序修改时,请把下划线及序号删除;不能删除注释语句。
# 程序初始化,并随机产生一个0-99的整数作为秘密数,
import __①__ # 导入随机数模块
import math
secret=random.randint(0,99)
guess=0
tries = __②__ # 尝试次数赋初值
#给定猜测次数n
n=6
# 打招呼
print('嗨,你好!今天我们来玩一个猜数游戏。')
print('这个数字在0-99之间,我给你6次机会。')
#得到玩家猜的数,并判断大小,最多允许n次
while tries<n and guess!=secret:
__③__ # 尝试次数加1
guess = int(input("请输入你猜的数:"))
if guess > secret:
print("大了")
elif guess < secret:
print("小了")
else:
print("恭喜你,答对了!猜了", __④__, "次,")
#如果给出猜测的次数内没有猜对,则提示机会用完了,再来一次。
if tries == n and guess != __⑤__:
print("机会用完了,再来一次!")
答案:
1. random
2. 0
3. tries=tries+1
4. tries
5. secret
14、用Python编辑器打开“考生文件夹\100”下的文件“求阶乘和.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. 1
2. 6
3. s+n
15、用Python编辑器打开“考生文件夹\113”下的文件“打印矩形.py”,进行以下操作并保存结果。
(1)请填空完善该程序,实现功能:按程序提示依次输入行和列的数字,则按行列打印由“*”组成的矩形。例如,按提示输入:
请输入行数:3
请输入列数:5
屏幕将打印以下图形:
*****
*****
*****
(2)编写完成后原名保存并关闭应用软件。
注:程序修改时,请把下划线及序号删除;不能删除注释语句。
a=int(input("请输入行数:"))
b=___①___
for i in range(___②___):
for j ___③___
print(___④___,end='') #end=''表示接上一个输出项后输出,不换行
print()
答案:
1. int(input("请输入列数:"))
2. a
3. in range(b):
4. '*'
16、用Python编辑器打开“考生文件夹\101”下的文件“反转三位数.py”,进行以下操作并保存结果。
(1)请填空完善该程序,实现功能:输入一个任意三位整数,将它反转输出,例如369反转成963。
(2)编写完成后原名保存并关闭应用软件。
注:程序修改时,请把下划线及序号删除;不能删除注释语句。
x=___①____(input("请输入一个任意三位整数:"))
ge=__②____
shi=x//10%10
bai=__③____
___④____=ge*100+shi*10+bai
print(y)
答案:
1. int
2. x%100
3. x//100
4. y
17、用Python编辑器打开“考生文件夹\118”下的文件“打的计费.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("你的打的费用是", __④__, "元")
答案:
1. math
2. float
3. s<=2
4. cost
18、小明想用压岁钱环游中国,妈妈告诉他大约需要30000元,但现在小明只有5000元。他请妈妈帮忙存在银行里,银行年利息3.7%,小明几年能存够?用Python编辑器打开“考生文件夹\86”下的文件“存钱旅游.py”, 进行以下操作并保存结果。
(1)请填空完善该程序,帮小明计算几年后可以环游中国。
(2)编写完成后原名保存并关闭应用软件。
注:程序修改时,请把下划线及序号删除;不能删除注释语句。
#请删除原题里序号及下划线,填写正确代码。
money=5000
year=0
__①__ money<30000:
money=__②__
year=__③__
print(__④__,"年后可以环游中国")
input("运行完毕,请按回车键退出...")
答案:
1. while
2. money*(1+0.037)
3. year+1
4. year
19、用Python编辑器打开“考生文件夹\111”下的文件“值班.py”,进行以下操作并保存结果。
(1)请填空完善该程序,实现功能:某医院内科有a,b,c,d,e,f,g七位医生,他们在一星期内每天值一次班,排班的要求为:
①a医生值班比c医生晚一天
②d医生值班比e医生晚二天
③b医生值班比g医生早三天
④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')
答案:
1. "Sunday"
2. e+2
3. f==3
4. days[a]
20、用Python编辑器打开“考生文件夹\91”下的文件“求奇数的和.py”,进行以下操作并保存结果。
(1)请填空完善该程序,实现功能:求1到100之间所奇数的和。
(2)编写完成后原名保存并关闭应用软件。
注:程序修改时,请把下划线及序号删除;不能删除注释语句。
s=__①__ #s中存放1-100之间所有奇数的和
for i in range(_②_,100,_③_):
s=__④__
print(s)
答案:
1. 0
2. 1
3. 2
4. s+i
21、用Python编辑器打开“考生文件夹\112”下的文件“编码.py”,进行以下操作并保存结果。
(1)请填空完善该程序,实现功能:某种编码由六位二进制码组成,前三位表示方向,后三位表示距离。输入一组六位二进制码,将编码翻译成方向和距离,距离值为每组编码后三位二进制码转换为十进制数的值。
(2)编写完成后原名保存并关闭应用软件。
注:程序修改时,请把下划线及序号删除;不能删除注释语句
'''
某种编码由六位二进制码组成,前三位表示方向,后三位表示距离。
输入一组六位二进制码,将编码翻译成方向和距离,距离值为每组编码后三位二进制码转换为十进制数的值。
'''
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[__①__])
v=__②__ #实现三位二进制编码到十进制的转化
print( __③__ +" " + str(v)) #按格式要求打印输出,如:东 7
__④__ #调整i的值
答案:
1. i + 5
2. b1*4+b2*2+b3
3. d
4. i=i+6
22、用Python编辑器打开“考生文件夹\104”下的文件“找出三个数中最大的数.py”,进行以下操作并保存结果。
(1)请填空完善该程序,实现功能:输入任意三个不同的整数,输出其中最大的一个数;
(2)编写完成后原名保存并关闭应用软件。
注:程序修改时,请把下划线及序号删除;不能删除注释语句。
a=int(input("请输入第一个数:"))
__①__=int(input("请输入第二个数:"))
c=int(input("请输入第三个数:"))
if a>b:
__②___
else:
max=b
if ___③___:
max=c
print(___④__)
答案:
1. b
2. max=a
3. c>max
4. max
23、用Python编辑器打开“考生文件夹\115”下的文件“用户登录验证.py”,进行以下操作并保存结果。
(1)在信息系统中,用户的登录功能可以实现用户身份的认证。请填空完善该程序,实现功能:用户输入账户、密码来登录(提醒:用户名为:user1、密码为:123456)。
(2)如果用户名和密码匹配成功,则显示“登陆成功”,若密码错误则提醒用户“请重新输入密码”(有三次输错机会,且每次输入错误时提示还剩几次机会);否则显示“用户名不存在”。
(3)编写完成后原名保存并关闭应用软件。
注:程序修改时,请把下划线及序号删除;不能删除注释语句。
#程序的功能是实现用户名和密码的登录验证
cnt=1 #输入错误次数
username=input("请输入用户名:")#输入用户名
pwd = ___①___ # 请输入密码
if username == "user1" and ___②___: # 登录成功的条件
print("你好", username, "登录成功")
elif username=="user1":#用户名正确
while ___③___ and cnt != 3: # 密码错误,且错误次数不等于3
print("密码错误,请重新输入正确的密码!你还有", 3-cnt, "次机会")
pwd=input("请输入密码:")
cnt = ___④___ # 输入错误次数累加
if username == "user1" and pwd == "123456":
print("你好",username,"登录成功")
___⑤___ # 登录成功则跳出while循环
else:
print("用户名不存在!")
答案:
1. input("请输入密码:")
2. pwd=="123456"
3. pwd!="123456"
4. cnt+1
5. break
24、用Python编辑器打开“考生文件夹\88”下的文件“求圆的周长和面积.py”,进行以下操作并保存结果。
(1)请填空完善该程序,实现功能:输入圆的半径r,计算它的周长和面积并输出。
(2)编写完成后原名保存并关闭应用软件。
注:程序修改时,请把下划线及序号删除;不能删除注释语句。
r=float(input("请输入圆的半径:"))
________①______ #计算圆的周长c
________②______ #计算圆的面积s
________③______ #输出圆的周长c和面积s
答案:
1. c=2*3.14*r
2. s=3.14*r*r
3. print(c,s)
25、用Python编辑器打开“考生文件夹\116”下的文件“成绩等级.py”,进行以下操作并保存结果。
(1)学期末,李老师要根据学生的总成绩给出相应的等级:成绩90分及以上(包含90分)等级为“优秀”,成绩在90和75(包含75分)之间等级为“良好”,成绩在75和60(包含60分)之间等级为“合格”,60分以下为“不合格”。其中信息技术课的“总成绩=0.3*平时成绩+0.7*期末成绩”(注意:平时成绩和期末成绩的满分均为100分)。
(2)请填空完善该程序,实现功能:输入平时成绩和期末成绩,输出学生的成绩等级。
(3)编写完成后原名保存并关闭应用软件。
注:程序修改时,请把下划线及序号删除;不能删除注释语句。
#此程序功能是实现输出成绩等级。
pscore=int(input("请输入平时成绩:"))#输入平时成绩
qscore= ___①___ #请输入期末成绩
score= ___②___ #计算总成绩
if score>100 or score<0:
print("你的成绩输入有误")
elif ___③___: # 优秀等级的条件
print("优秀")
elif score>=70:
___④___ # 输出相应等级
elif score >= 60:
print("合格")
___⑤___:
print("不合格")
答案:
1. int(input("请输入期末成绩:"))
2. 0.3*pscore+0.7*qscore
3. score>=90
4. print("良好")
5. else
26、班级最后一排有6名学生,体育委员想编程实现最高身高和最矮身高。用Python编辑器打开“考生文件夹\85”下的文件“最高和最矮.py”,进行以下操作并保存结果。
(1)请填空完善该程序,实现功能:键盘依次输入6名同学身高,输出最高身高和最矮身高的值。
(2)编写完成后原名保存并关闭应用软件。
注:程序修改时,请把下划线及序号删除;不能删除注释语句。
#请删除原题里序号及下划线,填写正确代码。
height=[]
for i in range(0,__①__):
x=float(input("请输入身高:"))
height.append(__②__)
print(max(__③__), min(height))
input("运行完毕,请按回车键退出...")
答案:
1. 6
2. x
3. height
27、用Python编辑器打开“考生文件夹\119”下的文件“求最小公倍数.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<n:
m,n=__①__ #两数交换(用大数翻倍)
s=m #s的初始值较大数
while __②__:
i = i+1
s =__③__
print(__④__)
答案:
1. n,m
2. s%n!=0
3. m*i
4. s
28、用Python编辑器打开“考生文件夹\99”下的文件“水仙花数.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)
答案:
1. x%10
2. x//100
3. i**3+j**3+k**3
29、用Python编辑器打开“考生文件夹\123”下的文件“能力值.py”,进行以下操作并保存结果。
(1)俗话说“日有所进,月有所长”,假设每个人的初始能力值是1,经过一天的努力学习和工作后,能力会比之前增长1%。
(2)如果周一到周五努力学习提升能力,而周末休息,且休息一天能力就降低1%。同时通过取余运算来判断某一天是学习日还是休息日,如果余数是0或者6,那么这一天就是休息日;余数是其他数值时,这一天是学习日。
(3)请完善程序,计算两种情况下,一年后能力值增长情况。
注:程序修改时,请把题目序号删除;不能删除注释语句。
#天天向上
dayup=1 #设置dayup为能力值,factor为能力变化幅度
factor=0.01
for i in range(__①__):
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) # 打印结果
答案:
1、365 2、dayup 3、1,366 4、i%7 5、1+factor
30、用Python编辑器打开“考生文件夹\89”下的文件“判断正数负数还是零.py”,进行以下操作并保存结果。
(1)请填空完善该程序,实现功能:输入一个实数,如果这个数大于0输出“正数”,如果小于0输出“负数”,如果等于0则输出“零”。
(2)编写完成后原名保存并关闭应用软件。
注:程序修改时,请把下划线及序号删除;不能删除注释语句。
x=float(input("请输入一个数:"))
if __①__
print(x,"为正数")
__②__
print(x,"为负数")
else:
__③__
答案:
1、x>0:
2、elif x<0:
3、print(x,"为零")