
一、顺序结构
真题:
1.假设有一个杯子装了可乐,一个杯子装了橙汁,如何交换两个杯子中的饮料?
可行的一种思路是:利用一个空杯子作为中介,经过一些交换的步骤即可将这两个杯子的饮料互换。下面是根据上面的思路,利用中间变量temp将变量x和y的值进行交换的一个不完整的程序,请将其补充完整。
操作提示:打开文件夹中的“P1.py”文件,删除代码中的“①②③”,并填写正确的代码,完善该程序,实现上述功能,调试完成后保存“P1.py”文件。
#注释:以下为“P1.py”的代码,请不要删除①、②和③以外的任何代码。
#用户输入
x=input('输入x的值:')
y=input('输入y的值:')
#创建临时变量,并交换
temp=x
x=①
②
#输出结果
③('交换后x的值为:{},y的值为:{}'.format(x,y))
1答案:
① y
② y=temp
③ print
练习题:
1.用Python编辑器打开“考生文件夹\88”下的文件“求圆的周长和面积py”,进行以下操作并保存结果。
(1)请填空完善该程序,实现功能:输入圆的半径r,计算它的周长和面积并输出。
例如:
请输入圆的半径:16.283.14
(2)编写完成后原名保存井关闭应用软件。
r=float(input(“请输入圆的半径:”))
① #计算圆的周长c,其中π用3.14表示
②#计算圆的面积s
③(c.s) #输出圆的周长c和面积s
1答案:
① c=2*3.14*r
② s=3.14*r*r
③ print
2.下面是“反转三位数.py”,请填空完善该程序,实现功能:输入一个任意三位整数,将它反转输出,例如369反转成963。
x=①(input("请输入一个任意三位整数:"))
ge=②
shi=x//10%10
bai=③
y=ge*100+shi*10+bai
print(y)
2答案:
①int
②x%10
③x//100
二、选择结构
真题:
某种笔记本搞优惠活动,规定一次购买6本以上(含6本)10本以下(含10本)打九折,一次购买11本以上(含11本)打八折。请编写程序,根据笔记本的单价和购买数量计算总费用。
请打开“考生文件夹\##”文件夹中的“P2.py”文件,删除代码中的“①②③”,并填写正确的代码,完善该程序,调试完成后保存“P2.py”文件。
程序如下:
#注释:以下为"P2.py"的代码,请不要删除①、②和③以外的任何代码。
s = int(input("请输入购买的笔记本的数量(多少本):"))
p = ①(input("请输入笔记本的单价(每本多少元):")) #浮点型
if ②
p = 1.0*p
elif s <= 10:
思考:
1.程序中s、p、t是什么意思?
2.input()是什么意思?其返回的数据类型是什么?
3.int是什么意思?
4.if...elif...else...的书写格式是什么?
5.p = 0.9*p是什么意思?“=”表示等于吗?
6.print()是什么意思?书写格式是什么?
tips:“#”号表示注释,其后面的内容是提示信息
p = 0.9*pelse:
p = 0.8*p
③ #计算总费用t
t=round(t,1) #保留1位小数
print("总费用为:",t,"元" )
答案:
① float (3分)
② s<6: 或 6>s:(3分)
③ t=s*p或t=p*s (4分)
练习题:
1. 某商场做促销打折活动,消费金额500元以内打8.8折;大于500元(含500元)且小于1000元打8折;1000元以上(含1000元)打7折。请编程程序,根据消费金额计算实际应付金额。
打开“打折促销.py”程序,按要求操作:
x=float(input(“消费金额:"))
#注释:请编程计算应付金额
#请在以下区域编写程序
#以下是输出语句,不能更改
print(“应付金额为:”,s)
1答案:
if x<500:
s=x*0.88
elif x<1000:
s=x*0.8
else:
s=x*0.7
2.继“共享单车”之后,“共享汽车”也进入了人们的视野,已知某共享汽车一天之内的计费标准为:
①用车时间在0.5小时内(包含0.5小时),收费为起步价15元。
②用车时间超过0.5小时,超出部分按0.5元/分钟收费。
下列程序实现了“输入使用时间,输出收费”功能,打开“共享汽车计费.py”程序,按要求操作:
hour = float(input("请输入使用时间:"))
if hour >0and hour<= 0.5:
print("本次租车花费15元")
elif
cost = 15+(hour-0.5)*30
print("本次租车花费",cost,"元")
else:
print("输入有误,重新输入:")
2答案:
0.5<hour<=24:
3.用Python编辑器打开“Y:118”下的文件“打的计费.py”,进行以下操作并保存
结果。
(1)请填空完善该程序,实现功能:2公里(包括2公里)内,起步价为5元,超过
2公里部分(不足整公里的,向上取整),每公里1.6元。
(2)编写完成后原名保存并关闭应用软件。
注:程序修改时,请把下划线及序号删除;不能删除注释语句。
import math #引用math库
s = ①(input("请输入你要去目的地距离出发点的公里数:"))# 浮点型
if ② # 在2公里(包括2公里)内
cost = 5
else:
cost=5 + math.ceil(s-2) * 1.6
print("你的打的费用是",③,"元")
3答案:
① float
② s<=2:
③cost
4.用Python编辑器打开“Y:94”下的文件“判断BMI.py”,进行以下操作并保存
结果。
(1)请填空完善该程序,实现功能:输入身高和体重,计算出体重指数BMI的值。
体重指数的计算方法:体重÷(身高x身高),说明:体重的单位为千克,身高的单
位为米。
(2)如果体重指数BMI范围是18.5~23.9,输出“符合标准”,否则输出“不符合标准”。
(3)编写完成后原名保存并关闭应用软件。
height = float(input("请输入你的身高(米):"))
weight = float(input("请输入你的体重(千克):"))
BMI=weight/(height*height)
#注释:请编程判断体重指数BMI是否符合标准
#请在以下区域编写程序
4答案:
if18.5<=BMI<=23.9:
print("符合标准")
else:
print("不符合标准")
5. 神奇的数字:小玲同学特别喜欢数学,更喜欢研究数字。她发现3025有一个特殊的性质:它的前两位数字30和后两位数字25的和是55,而55的平方刚好等于该数(55**2=3025)。如何判断一个四位数是否有这样的特点呢?小玲编写了如下程序,请完善程序代码。
打开文件夹下的程序文件“P4.py”,进行以下操作并保存
m=int(input(“请输入一个四位数:”))
a=0
b=0
s=0
a=m%100 #取四位数m的后两位数
① #取四位数m的前两位数
s=② #a、b和的平方赋值给s
if ③:
print(“yes”)
else:
print(“no”)
答案:
① b=m//100
② (a+b)**2
③ s==m
三、循环结构(for循环;while循环)
真题:(for循环)
1.中国古代数学家张丘建在他的《算经》中提出了著名的“百钱百鸡”问题:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,翁、母、雏各几何?
打开文件夹下的程序文件“百钱百鸡.py”,进行以下操作并保存
(1)删除序号①、②、③并填写正确的代码,完善程序实现功能;
(2)调试完成后保存程序文件并关闭应用软件。
#百钱百鸡
for x in range(0,20):
for ① in range(0,33):
z=100-x-y
if 5*x+3*y+z/3 ② 100:
③('鸡翁:%d只,鸡母:%d只,鸡雏:%d只'%(x,y,z))
答案:
① y
② ==
③print
练习题:
1. 请填空完善该程序,实现功能:计算表达式s=1-2+3-4……+99-100的值并输出结果
打开“考生文件夹\##”文件夹中的“加减总和.py”文件,完善该程序,调试完成后保存“加减总和.py”文件。
s=0 #s初始值
for i in range(1,①):#从1到100
if ②: #如果i是偶数
s=s-i
else:
③
print(s)
1答案:
①101
②i%2==0
③s=s+i
2.用Python编辑器打开“Y:\123”下的文件“能力值.py”,进行以下操作并保存结果。
俗话说“日有所进,月有所长”,假设每个人的初始能力值是1,经过一天
的努力学习和工作后,能力会比之前增长1%。
请完善程序,计算一年(365天)后能力值增长情况。
注:程序修改时,请把题目序号删除,不能删除注释语句。
#天天向上
dayup=1#设置dayup为能力值,factor为能力变化幅度
factor=0.01
foriinrange(①):
dayup=②*(1+factor)
③(“天天向上的能力值:%.2f”%dayup)
2答案:
①1,366
②dayup
③print
3.用Python编辑器打开“Y:91”下的文件“求奇数的和py”,进行以下操作并保
存结果。
(1)请填空完善该程序,实现功能:求1到100之间所奇数的和。
(2)编写完成后原名保存并关闭应用软件。
注:程序修改时,请把下划线及序号删除;不能删除注释语句。
s=0 #s中存放1-100之间所有奇数的和
foriinrange(①,100,②): #逐一取到奇数
s=③ #奇数和累加
print(s)
3答案:
①1
②2
③s+i
4. 新高考改革学生可以自主决定科目组合。某校为了统计选物理学科人数,从而划分班级。现通过输入所有 n 名学生的选科情况,计算选物理学科的总人数。(设物理选科编号为:2022035)
打开“考生文件夹\##”文件夹中的“物理选科.py”文件,完善该程序,调试完成后保存“物理选科.py”文件。
待补全程序代码如下:
n = int(input("请输入学生总人数:"))
sum = 0
for i in ①:
t = input("输入选科编号:")
if t == "2022035":
sum=②
print("选物理学生人数为:",sum)
4答案:
①range(n)
②sum+1
5. 小袁班级里一共有45个人,现在小袁想知道班级里身高最高的同学高度是多少,请你帮忙设计程序并完成以下程序填空。
打开“考生文件夹\##”文件夹中的“最高身高.py”文件,完善该程序,调试完成后保存“最高身高.py”文件。
max=0 #给 max 赋初值
n=int(input(“请输入班级人数:”)) #输入班级人数
for i in range(1,①,1): #循环范围
height=int(input("请输入身高:")) #输入身高
if②: #身高比较
max= ③#将较大值存入max变量
print ("身高最大值为:",max)
5答案:
①n+1
②height>max
③height
真题:(while循环)
一只狗熊准备掰一些玉米过冬,第1天掰了2个,第2天掰了4个,以后每天都比前一天多掰2个。狗熊总共掰了n天,觉得这么多玉米已经足够过冬了,于是就不再掰了。请编写程序帮狗熊计算n天所掰的玉米总数。
打开“考生文件夹\##”文件夹中的“P3.py”文件,完善该程序,调试完成后保存“P3.py”文件。
#注释:请编程计算n天后,狗熊总共掰了多少个玉米
n = int(input("请输入狗熊掰玉米的天数:"))
num = 2# 每天的玉米数
s = 0# 玉米总数
day = 1# 天数
while day <= n:
#请在以下区域编写程序
#以下是输出语句,不能更改
print("%d天后,狗熊总共掰了%d个玉米" % (n, s))
答案:
s=s+num
day=day+1
num=num+2
练习题:
1.王同学每天英语单词测试成绩目前只能达到50分,满分150。他制定了每天提
高成绩10%的目标,多久可以到达130分?
用python编辑器打开“Y:\84”下的文件“提高成绩py”,进行以下操作并保存结果。
#注释:请编程计算day天后,王同学可以达到130分
score = 50# 目前的成绩是50分
day = 0# 天数
while score<130:
#请在以下区域编写程序
#以下是输出语句,不能更改
print(day,"天后可以达到130分")
1答案:
score=score+score*0.1
day = day+1
2.现在有一个程序用来解决以下问题:如果有总量共1020个西瓜,第一天卖掉总数的一半后多卖出了两个,以后每天卖剩下的一半多两个,那么几天以后卖完呢?
请将下列程序补充完整。
tc=1020 #西瓜总量
c=0 #天数
while ①:
tc=tc-(tc/2+2) #每次卖出西瓜后剩余的数量
② #天数累计
print(c)
2答案:
①tc>0
②c=c+1
3.小明想用压岁钱环游中国,妈妈告诉他大约需要 30000 元,但现在小明只有 5000 元。 他请妈妈帮忙存在银行里,银行年利息 3.7%,小明几年能存够?用 Python 编辑器打开“Y:
\86”下的文件“存钱旅游.py”, 完善该程序,调试完成后保存文件。
#请编程计算year年后,小明能存够钱环游中国
money=5000 #本金
year=0 #年数
#请在以下区域编写程序
#以下是输出语句,不能更改
print(year,"年后可以环游中国")
3答案:
while money<30000:
money=money+money*0.037
year=year+1