试题高中信息技术期学科Python语言基础期末考试Word文档格式.docx
- 文档编号:19309403
- 上传时间:2023-01-05
- 格式:DOCX
- 页数:14
- 大小:234.42KB
试题高中信息技术期学科Python语言基础期末考试Word文档格式.docx
《试题高中信息技术期学科Python语言基础期末考试Word文档格式.docx》由会员分享,可在线阅读,更多相关《试题高中信息技术期学科Python语言基础期末考试Word文档格式.docx(14页珍藏版)》请在冰豆网上搜索。
10.在python中,想输出一行文字,要用到的函数是()。
A.input()B.int()C.print()D.float()
11.下列Python程序运行后的输出结果是()。
s=0
foriinrange(1,10):
s=s+i
print("
s="
s)
A.s=35B.s=45C.s=55D.s=65
12.12Python语言语句块的标记是()
A.分号B.逗号C.缩进D./
13.在python语言中表示“x属于区间[a,b)”的正确表达式是()
A.a≤xorx<
bB.a<
=xandx<
bC.a≤xandx<
bD.a<
=xorx<
b
14.以下是一段python程序:
它的可以用哪个流程图表达()。
A.
B.
C.
15.在Python中要交换变量a和b中的值,应使用的语句组是()。
A.a,b=b,aB.a=c;
a=b;
b=c
C.a=b;
b=aD.c=a;
b=a;
二、程序填空
16.编写Python程序实现如下功能:
输入年月日,输入格式如“2021-06-21”,年月日之间用“-”分隔。
判断这一天是这一年的第几天。
以2021-06-21为例,前面5个月总天数,加上21天即这一天是本年的第几天。
特殊情况,当输入的年份是闰年时,2月份有29天。
闰年的判断方式如下:
I、能被4整除,但不能被100整除;
II、能被400整除;
(1)“2020-05-20”这一天是这一年的第_________天。
(2)编写Python代码如下,在划线处填入正确的代码
_________________
(3)加框处的代码有误,请改正。
改正:
mon=[31,28,31,30,31,30,31,31,30,31,30,31]#mon中存储1-12每个月的天数
s=input("
请输入年月日:
"
)
'
month=int(s[5:
7])
①
sum=0
foriinrange(②):
sum+=mon[i]
sum+=day
if
:
isleap=True
else:
isleap=False
if③
sum+=1
这一天是当年的第"
+str(sum)+'
天'
17.某餐馆近期推出“消费1000元及以上享受8折优惠,1000元以下享受每满100减15优惠”的活动。
以下Python程序段实现了生成顾客消费清单的功能,请补全①②③处代码。
defgs(n):
#字符串长度统一
iflen(n)>
=5:
n=_____#取字符串的前5个字符
n=n+"
*(5-len(n))
returnn
r=1000;
x=100;
y=15;
z=0.8#从系统中分别获取消费额度、满和减以及打折的数值
dis=["
红烧排骨"
"
香炸刀鱼"
虾仁"
菜心"
米饭"
]#某顾客所点菜品名称
num=[1,1,1,1,3]#某顾客所点菜品数量
mon=[46,45,68,16,1]#某顾客所点菜品单价
菜品名称"
数量"
小计"
_____
foriinrange(len(dis)):
print(gs(dis[i]),num[i],"
num[i]*mon[i])
s=s+num[i]*mon[i]
ifs>
=r:
total=s*z
______
消费合计:
"
应收现金:
total)
18.小王编写了“字符串缩写”程序,实现如下功能:
1.输入一串由英文字母和数字组成的字符串,
2.如果字符串有连续字符构成的升序段(后面字符的ASCII值比前面的字符的ASCII值大1),则把升序段缩写成由第一个字符加上“—”和最后一个字符组成的新字符段,
3.例如:
字符串为“abcdf12345becomexy”,则缩写成“a-df1-5becomex-y”。
程序运行时,输入一串字符,输出缩写的字符串,程序运行效果如下图所示:
实现上述功能的程序如下,请在程序划线处填入合适的代码。
请输入字符串s:
_______
flag=False
result="
foriinrange(0,k-1):
if___________________:
result=result+s[i]+"
-"
flag=True
eliford(s[i])!
=ord(s[i+1])-1:
result=result+s[i]
_____
result=result+s[i+1]
缩写后的字符串为:
result)
划线处①处应该填入的语句为:
;
划线处②处应该填入的语句为:
划线处③处应该填入的语句为:
。
19.(最大公约数)用辗转相除法求两个正整数的最大公约数。
代码如下:
defgcd(m,n):
r=
whiler!
=0:
m=n
n=
return
a=int(input(‘请输入a的值:
’))
b=int(input(‘请输入b的值:
print(‘最大公约数是:
)
填空:
________________________________________
20.约瑟夫问题是个有名的问题:
N个人围成一圈,顺序为0,1,2,3,4,5,从0号这个人开始报数,报到2的将被杀掉,接下去重新开始报数,报到3的将被杀掉...以此类推,最后剩下一个,其余人都将被杀掉。
例如N=6,被杀掉的顺序是:
1,4,3,0,5;
最后只剩下2这个人。
llist=
n=int(input(“请输入参与人数:
”))
foriinrange(0,n-1):
llist.append([i,i+1])
___________
long=n
k=head
i=1
p=2
while(____):
ifi==p-1:
t=llist[k][1]
print(llist[t][0])#索引为t的删除
__________________
ift==head:
___________________
i=1
p+=1
long=long-1
k=llist[k][1]
______________
i+=1
print(llist[head][0])
21.程序分析题
学校举行校园歌手大赛,评委由6人组成。
评分方法:
去掉一个最高分和一个最低分,计算其余4位评委的平均分,作为选手的最终得分。
max记录最高分;
min记录最低分;
s记录六位评委的总分;
aver记录最终得分。
第1步:
从文本框中分别读入6位评委的打分并依次存入到a
(1)至a(6)中
第2步:
将第1位评委的打分a
(1)分别赋给最高分max,最低分min和总分S
第3步:
利用循环结构把另外5位评委的打分累加给s从而求出6位评委的总分s,同时把5位评委的打分与max和min进行比较,得出6位评委中的最高分max和最低分min。
第4步:
从总分中s中去掉最高分max和最低分min,求出其他4位评委的平均分aver作为选手的最终得分。
max=a[0]
min=a[0]
foriinrange(6):
s=s+a[i]
ifa[i]>
max:
max=a[i]
ifa[i]<
min:
min=a[i]
aver=()/4
(1)在引用tkinter模块进行界面设计的过程中,窗体中录入评委打分的对象是由______控件生成的。
A.EntryB.LabelC.FrameD.Button
(2)题目中算法描述采用的是__________A、自然语言B、伪代码C、流程图D、.N-S图
(3)下列程序代码片段对应于算法描述中的第2步至第4步。
请填写片段中空白处的表达式填写完整________
【参考答案】***试卷处理标记,请不要删除
1.D
【详解】
本题主要考查Python程序的执行。
列表的索引是从0开始的,故List[3]=9,故段运行后的输出结果是9,故本题选D选项。
解析:
D
2.A
x=2没有发生改变,只是输出x+1、x+2的值,故本题选A选项。
A
3.C
变量i的范围是从1~20,每次递增3,故x=0+1+4+7+10+13+16+19=70,输出x为70,故程序段运行的结果是70,故本题选C选项。
C
4.A
本题主要考查服务器的搭建。
Python是程序设计软件,Excel是表格处理软件,IIS是互联网信息服务,Apache是Web服务器软件,IIS和Apache可以用来搭建本地服务器的软件
Python是程序设计软件,Excel是表格处理软件,IIS是互联网信息服务,Apache是Web服务器软件,IIS和Apache可以用来搭建本地服务器的软件,故本题选A选项。
5.D
本题主要考查Python变量的定义。
Python定义私有变量的方法为使用__XX定义变量名,故本题选D选项。
6.D
本题考查数据、信息、知识、智慧的概念。
数据经过加工,可表达某种意义,则转变为信息;
信息经过加工,可用于指导实践,则转变为知识;
智慧是人类基于已有的知识,针对物质世界运动过程中产生的问题
智慧是人类基于已有的知识,针对物质世界运动过程中产生的问题根据获得的信息进行分析,对比,演绎找出解决方案的能力。
而本题中根据身高和体重提供的数据信息,结合Python知识编写相应的程序,从而进行算法设计程序编写来解决实际问题。
故属于智慧,选项D正确。
7.A
本题主要考查Python表达式。
当x=13时,(x%10)*10+x//10=31,(x%10)//10+x//10=1,(x/10)%10+x//10=2,(x%10)*10+x%1
当x=13时,(x%10)*10+x//10=31,(x%10)//10+x//10=1,(x/10)%10+x//10=2,(x%10)*10+x%10=33,故本题选A选项。
8.A
本题主要考查Python语句。
num=45376,x=(45376//100)%10=453%10=3,故x的值应为3,故本题选A选项。
9.C
本题主要考查Python表达式的计算。
“*”是乘法运算,“%”是取余运算,“*”、“%”优先级一样,按从左到右计算,故100-33*5%3=100-165%3=100-0=100,故“
“*”是乘法运算,“%”是取余运算,“*”、“%”优先级一样,按从左到右计算,故100-33*5%3=100-165%3=100-0=100,故“print(100-33*5%3)”语句输出的是100,故本题选C选项。
10.C
本题考查的是python基本函数相关知识。
input函数接受一个标准输入数据,返回为string类型,故选项A错误;
int可以将一个指定进制的数字型字符串或者十进制数字转化为整形,
int可以将一个指定进制的数字型字符串或者十进制数字转化为整形,故选项B错误;
print是输出函数,故选项C正确;
float用于将整数和字符串转换成浮点数,故选项D错误。
11.B
s=0,变量i的范围是1~9,循环体是s=s+i,程序运行后s=s+i=0+1+2+3+4+5+6+7+8+9=45,故本题选B选项。
B
12.C
本题考查的是Python语言相关知识。
Python语言中用缩进来标记语句块,故选项C正确。
13.B
在python语言中表示“x属于区间[a,b)”的正确表达式是a<
b,故本题选B选项。
14.B
本题主要考查算法流程图知识点。
程序代码中有双分支语句if–else。
所以选B绘制有分支流程图,故本题选B选项。
15.A
本题主要考查Python赋值语句。
选项A可以实现交换变量a和b中的值,其余选项均不可以实现交换变量a和b中的值,故本题选A选项。
16.day=int(s[8:
])或day=int(s[-2:
])0,month-1isleapandmonth>
2year%4==0andyear%100!
=0oryear%400==0
本题主要考查Python程序的执行与调试。
①2020年是闰年,2月是29天,故“2020-05-20”这一天是这一年的第31+29+31+30+20=141天。
②变量s是字符串型,下标从0开始,此处是将输入日期中的天取出来放到变量day中,可以使用切片操作:
从左边开始截取,也可以从右边截取,故此处填day=int(s[8:
])。
③通过循环将前month-1个月的天数加起来,故变量i的范围是0到month-1,故填0,month-1。
④变量isleap标记是不是闰年,如果isleap值为真且month>
2,则sum需要递增1,故填isleapandmonth>
2。
⑤由题干闰年判断条件,可知加框处应改为year%4==0andyear%100!
=0oryear%400==0。
17.n[0:
5]s=0total=s-s//x*y
①此处通过条件分支结构取字符串n的前5个字符,当
len(n)>
=5时,取n=n[0:
5],即索引为0、1、2、3、4,故填n[0:
5]。
②用变量s统计消费合计,初值为0,故填s=0。
③此处else部分处理1000元以下享受每满100减15优惠。
应付金额用total统计,变量r保存消费额度,x和y分别是满和减,变量s是消费合计,故填total=s-s//x*y。
18.k=len(s)ord(s[i])==ord(s[i+1])-1andflag==False或ord(s[i])==ord(s[i+1])-1andnotflag或ord(s[i])+1==ord(s[i+1])andflag==False或ord(s[i])+1==ord(s[i+1])andnotflagflag=False
①第一空将输入的字符串s的长度赋给变量k,故填k=len(s)。
②flag用来标记是否有连续字符构成的升序段,第二空判断相邻位置后面字符的ASCII值是否比前面的字符的ASCII值大1且flag为False,故填ord(s[i])==ord(s[i+1])-1andflag==False或ord(s[i])==ord(s[i+1])-1andnotflag或ord(s[i])+1==ord(s[i+1])andflag==False或ord(s[i])+1==ord(s[i+1])andnotflag。
③如果不满足if判断条件,则需要将该字符加到变量result中,同时赋值flag为False,表示当前没有连续字符构成的升序段,需要继续判断寻找,故填flag=False。
19.m%nrr=m%nngcd(a,b)
本题主要考查Python程序设计。
①首先对m和n求余得到r,判断r是否为0,故此处填m%n。
②如果r为0则结束,否则更新m的值为n,n的值为r。
③此处用更新后的m和n继续求r,继续判断,故填r=m%n。
④循环结束后当r=0时,n即为最大公约数,故填n。
⑤输入a、b的值,使用函数gcd求a和b的最大公约数,故填gcd(a,b)。
20.llist.append([n-1,0])head=0long>
1head=llist[k][1]llist[k][1]=llist[t][1]k=llist[k][1]
本题主要考查Python程序执行与调试。
①for循环体是将索引0-n追加到llist中,此处是循环体执行完,将末元素与首元素的索引加入到llist中,故填llist.append([n-1,0])。
②head是列表头,初始化为0,故填head=0。
③最后剩下一个,其余人都将被杀掉,故循环条件是long>
1,变量long控制元素个数,故填long>
1。
④索引为t的删除后,此处是更新head值,故填head=llist[k][1]。
⑤删完后,如果t等于head,需要更新索引k,将索引t的值赋给变量k,故填llist[k][1]=llist[t][1]。
⑥如果t不等于head,也需要更新索引k,故填k=llist[k][1]
21.AAs-max-min
①在引用tkinter模块进行界面设计的过程中,窗体中录入评委打分的对象是由Entry控件生成的(Entry是Tkinter用来接收字符串等输入的控件,该控件允许用户输入一行文字),故选A选项。
②题目中算法描述采用的是伪代码,故选A选项。
③从总分中s中去掉最高分max和最低分min,求出其他4位评委的平均分aver作为选手的最终得分,故此处填s-max-min。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 试题 高中 信息技术 学科 Python 语言 基础 期末考试