2023-2024学年+高中信息技术+合格性考试+Python编程题+复习
彦锦认真
2024年12月30日 10:54

一、顺序结构

真题:

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