内容正文:
3.2 Python语言程序设计 3、4、5课时(分层作业)
【基础达标】
1.用Python语句描述城市主干道中机动车平均行驶速度“不低于30为畅通,小于20为堵塞,其余为拥挤”,设v为机动车平均行驶速度(单位:km/h),则下列选项正确的是( )
A .
if v >= 30:
print("畅通")
elif v < 30:
print("拥挤")
else:
print("堵塞")
B.
if v< 20:
print("堵塞")
elif v> 20:
print("拥挤")
else:
print("畅通")
C.
if 20 <= v< 30:
print("拥挤")
elif v >= 30 and v< 20:
if v< 20:
print("堵塞")
else:
print("畅通")
D.
if v >= 20:
if v < 30:
print("拥挤")
else:
print("畅通")
else:
print("堵塞")
答案:D
解析:本题考查Python程序设计相关内容。A选项,若20<=v<30成立,结果应该是拥挤,小于20应该是堵塞,此项仅能输出2种结果:畅通和拥挤,选项错误。B选项,v=20会输出畅通,选项错误。C选项,存在逻辑错误,不存在v>=30且v<20的数据,选项错误。D选项,符合题目要求,选项正确。故本题答案是D选项。
2.在 Python 中,导入数学函数模块的语句是( )
A.from math import * B.input math C.import math D.选项A和C
答案:D
解析:本题考查Python程序设计相关内容。在Python中,math模块提供了一些常用的数学函数和常量,可以用于处理数学运算和计算。要使用math模块,需要在代码的开头添加“import math”或“from math import *”语句。故本题答案是D选项。
3.以下Python程序的功能为判断输入的年份是否为闰年,横线处应填写( )
year=int(input("请输入一个年份:"))
if(year%4==0 and year % 100!=0)or year % 400==0:
print(year,"是闰年")
print(year,"不是闰年")
A.else: B.else C.elif: D.elif
答案:A
解析:本题考查的是Python分支语句。在Python中: else用于处理if条件不成立的情况,无需额外条件。 else后必须加冒号:,表示代码块的开始。 elif用于添加额外的条件检查,但本程序的条件已完整,无需额外条件。故选A。
4.如下Python程序段,运行后输出的值是( )
def factorial(n):
s=1
for i in range(2,n+1):
s=s*i
return s
total=factorial(4)
print(total)
A.24 B.4 C.44 D.16
答案:A
解析:本题主要考查Python程序运行。分析程序可知,函数factorial(n)是用来求n的阶乘,故total=factorial(4)=1*2*3*4=24,故本题选A选项。
5.在Python中,若想让range()函数遍历2到100(含100)所有偶数,下列选项中表达正确的是( )
A.range(2,100,2) B.range(2,101,2) C.range(2,100,1) D.range(2,101,1)
答案:B
解析:本题主要考查Python函数的应用。range(start, stop, [step]),start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5;step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)。range(2,101,2)可以实现遍历2到100(含100)所有偶数,故本题选B选项。
6.以下自定义函数实现的功能是( )
def fac(x):
if x<0:
x = -x
return x
A.判断一个数是否为负数 B.求绝对值 C.求相反数 D.统计负数的个数
答案:B
解析:本题考查Python自定义函数。题中定义了一个名为fac的函数,它接受一个参数x,用if语句判断是否小于0,如果小于0则将x的值替换为其相反数,自定义函数实现的功能是求绝对值。故答案为:B。
【能力提升】
1.下列代码的输出结果是( )
for i in range(1,11,2):
print(i,end="")
A.1、3、5、7、9 B.3、5、7、9 C.1、3、5、7、9、10 D.1、3、5、7、9、11
答案:A
解析:本题主要考查Python循环结构。range(start, stop, [step]),start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5;step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)。因此输出结果是1、3、5、7、9,故本题选A选项。
2.有如下Python程序段:
if a%b == 0:
c=a/b
else:
c=a//b
如果a,b的值分别为16,3,则执行该程序段后,变量c的值为( )
A.5.33 B.5 C.2 D.13
答案:B
解析:本题考查的是Python选择语句。因为a,b的值分别为16,3,a%b==0条件不成立,执行c=a//b为5。故选B。
3.运行如下程序代码,如果输入6,那么输出为( )
def f(a,b):
result=a*b
s=a+b
return result
a=int(input(“a=”))
b=15
s=f(a,b)
print(s)
A.程序报错 B.s C.21 D.90
答案:D
解析:本题考查的是自定义函数。如果输入6,b=15, result=a*b=6*15=90,s=f(a,b),返回值是90,故输出为90,选项D正确。
4.有Python程序如下:
import random
n=7;a=[0]*n
a[0]=random.randint(60,100)
for i in range(1,n):
a[i]=a[i-1]-random.randint(0,i)
for i in range(1,n,2):
a[i]=a[i]-a[i-1]%2
print(a)
执行该程序段后,可能输出的结果是( )
A.[67,65,64,64,61,61,54] B.[72,71,72,69,67,62,57]
C.[83,81,81,77,75,73,69] D.[94,94,94,89,89,88,82]
答案:C
解析:本题考查Python程序。A选项错误,a[4]、a[5]均为奇数,因此在未执行a[5]=a[5]-a[4]%2之前,a[5]为62,a[4]为61,但是由于a[5]=a[4]-random.randint(0,5),不可能出现a[5]>a[4]的情况。B选项错误,由a[2]>a[1]可知,在执行a[1]=a[1]-a[0]%2语句中,a[0]为奇数,但是a[0]为72并非奇数,因此不可能出现这样的情况。D选项错误,a[3]=a[2]-5,但是在a[i]=a[i-1]-random.randint(0,i)中random.randint(0,i)最大为3,因此不可能出现这样的情况。故答案为:C。
【链接真题】
(2025高三·浙江·专题练习)1.体重指数(BMI)计算公式为体重/身高2(单位:千克/米2)。高一年级学生各个等级的单项评分表如表所示:
等级
低体重
正常
超重
肥胖
男生
≤16.4
16.5~23.2
23.3~26.3
≥26.4
女生
≤16.4
16.5~22.7
22.8~25.2
≥25.3
小王编写了计算BMI指数(四舍五入保留两位小数)和测试评价等级的自定义函数。实现上述功能的Python程序如下,请在划线处填入合适的代码。
def bmi(x,y):#根据体重x,身高y,计算BMI指数,四舍五入保留两位小数
return ①
def dj(bmi,xb):#根据bmi指数值,分别计算男生和女生的等级。
if bmi <= 16.4:
return 1
elif xb == "男" and bmi <= 23.2 or xb == "女" and bmi <= 22.7:
return 2
elif xb == "男" and bmi <= 26.3 or xb == "女" and bmi <= 25.2:
return 3
else:
②
sg=float(input("请输入你的身高:"))
tg=float(input("请输入你的体重:"))
bz={3:"超重",4:"肥胖",1:"偏瘦",2:"标准"}
③
print("小王是男生,他的BMI指数为",zs)
print("他的体型等级为:",④ )
答案:①round(x/y**2,2);②return 4;③zs=bmi(tg,sg);④bz[dj(zs,"男")]
解析:本题考查自定义函数编写和调用。①处根据体重x,身高y,计算BMI指数,四舍五入保留两位小数,故此处答案是:round(x/y**2,2)。②处指肥胖的情况,故此处答案是:return 4。③处调用bmi函数,把tg和sg分别传给x和y,故此处答案是:zs=bmi(tg,sg)。④dj函数返回1~4之间的数值,在字典bz中可以查找每个数值代表的文本信息,故此处答案是:bz[dj(zs,"男")]。
(2025高三·浙江·专题练习)2.2024年巴黎奥运会乒乓球混双比赛采取七局四胜制,一方获胜四局即停止此场比赛。每局比赛采用11分制,即当一方得分达到11分且领先对手至少2分时,该局比赛结束。为熟悉比分规则,某球迷编写程序模拟混双比赛过程,依次输出每局比赛比分。请回答下列问题:
(1)根据比分规则,若某局比赛的比分为10:13, (选填:合理/不合理)。
(2)实现上述功能的Python程序如下,请在划线处填入合适的代码。
m=4
count=1
wa= wb=0
while ① :
a=b=0#变量a存储一方得分,变量b存储对方得分
while a <11 and b<11 or abs(a-b)<2;
#输入一方得分t,代码略。
a+=t
②
print("第", count, "局:",a, ":",b)
if a >b:
wa+=1
else:
wb+=1
③
print("胜负情况:", wa, ":", wb)
答案:(1)不合理;(2)① wa<m and wb<m或wa<4 and wb<4;②b+=1—t;③count+=1或者count= wa+ wb
解析:本题考查的是循环嵌套的应用。
(1)当一方得分为10分,对方得分为12分时,结束该局比赛。故不合理。
(2)①判断双方获胜局数都没有达到4局。②当一方得分,即t为1时,a加1分,当t为0时,b得1分,因此b得1—t.③count表示第几局,当一局结束后,将递增1。
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
3.2 Python语言程序设计 3、4、5课时(分层作业)
【基础达标】
1.用Python语句描述城市主干道中机动车平均行驶速度“不低于30为畅通,小于20为堵塞,其余为拥挤”,设v为机动车平均行驶速度(单位:km/h),则下列选项正确的是( )
A .
if v >= 30:
print("畅通")
elif v < 30:
print("拥挤")
else:
print("堵塞")
B.
if v< 20:
print("堵塞")
elif v> 20:
print("拥挤")
else:
print("畅通")
C.
if 20 <= v< 30:
print("拥挤")
elif v >= 30 and v< 20:
if v< 20:
print("堵塞")
else:
print("畅通")
D.
if v >= 20:
if v < 30:
print("拥挤")
else:
print("畅通")
else:
print("堵塞")
2.在 Python 中,导入数学函数模块的语句是( )
A.from math import * B.input math C.import math D.选项A和C
3.以下Python程序的功能为判断输入的年份是否为闰年,横线处应填写( )
year=int(input("请输入一个年份:"))
if(year%4==0 and year % 100!=0)or year % 400==0:
print(year,"是闰年")
print(year,"不是闰年")
A.else: B.else C.elif: D.elif
4.如下Python程序段,运行后输出的值是( )
def factorial(n):
s=1
for i in range(2,n+1):
s=s*i
return s
total=factorial(4)
print(total)
A.24 B.4 C.44 D.16
5.在Python中,若想让range()函数遍历2到100(含100)所有偶数,下列选项中表达正确的是( )
A.range(2,100,2) B.range(2,101,2) C.range(2,100,1) D.range(2,101,1)
6.以下自定义函数实现的功能是( )
def fac(x):
if x<0:
x = -x
return x
A.判断一个数是否为负数 B.求绝对值 C.求相反数 D.统计负数的个数
【能力提升】
1.下列代码的输出结果是( )
for i in range(1,11,2):
print(i,end="")
A.1、3、5、7、9 B.3、5、7、9 C.1、3、5、7、9、10 D.1、3、5、7、9、11
2.有如下Python程序段:
if a%b == 0:
c=a/b
else:
c=a//b
如果a,b的值分别为16,3,则执行该程序段后,变量c的值为( )
A.5.33 B.5 C.2 D.13
3.运行如下程序代码,如果输入6,那么输出为( )
def f(a,b):
result=a*b
s=a+b
return result
a=int(input(“a=”))
b=15
s=f(a,b)
print(s)
A.程序报错 B.s C.21 D.90
4.有Python程序如下:
import random
n=7;a=[0]*n
a[0]=random.randint(60,100)
for i in range(1,n):
a[i]=a[i-1]-random.randint(0,i)
for i in range(1,n,2):
a[i]=a[i]-a[i-1]%2
print(a)
执行该程序段后,可能输出的结果是( )
A.[67,65,64,64,61,61,54] B.[72,71,72,69,67,62,57]
C.[83,81,81,77,75,73,69] D.[94,94,94,89,89,88,82]
【链接真题】
(2025高三·浙江·专题练习)1.体重指数(BMI)计算公式为体重/身高2(单位:千克/米2)。高一年级学生各个等级的单项评分表如表所示:
等级
低体重
正常
超重
肥胖
男生
≤16.4
16.5~23.2
23.3~26.3
≥26.4
女生
≤16.4
16.5~22.7
22.8~25.2
≥25.3
小王编写了计算BMI指数(四舍五入保留两位小数)和测试评价等级的自定义函数。实现上述功能的Python程序如下,请在划线处填入合适的代码。
def bmi(x,y):#根据体重x,身高y,计算BMI指数,四舍五入保留两位小数
return ①
def dj(bmi,xb):#根据bmi指数值,分别计算男生和女生的等级。
if bmi <= 16.4:
return 1
elif xb == "男" and bmi <= 23.2 or xb == "女" and bmi <= 22.7:
return 2
elif xb == "男" and bmi <= 26.3 or xb == "女" and bmi <= 25.2:
return 3
else:
②
sg=float(input("请输入你的身高:"))
tg=float(input("请输入你的体重:"))
bz={3:"超重",4:"肥胖",1:"偏瘦",2:"标准"}
③
print("小王是男生,他的BMI指数为",zs)
print("他的体型等级为:",④ )
(2025高三·浙江·专题练习)2.2024年巴黎奥运会乒乓球混双比赛采取七局四胜制,一方获胜四局即停止此场比赛。每局比赛采用11分制,即当一方得分达到11分且领先对手至少2分时,该局比赛结束。为熟悉比分规则,某球迷编写程序模拟混双比赛过程,依次输出每局比赛比分。请回答下列问题:
(1)根据比分规则,若某局比赛的比分为10:13, (选填:合理/不合理)。
(2)实现上述功能的Python程序如下,请在划线处填入合适的代码。
m=4
count=1
wa= wb=0
while ① :
a=b=0#变量a存储一方得分,变量b存储对方得分
while a <11 and b<11 or abs(a-b)<2;
#输入一方得分t,代码略。
a+=t
②
print("第", count, "局:",a, ":",b)
if a >b:
wa+=1
else:
wb+=1
③
print("胜负情况:", wa, ":", wb)
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$