试题高中信息技术期学科Python语言基础期末考试.docx

上传人:b****5 文档编号:6300357 上传时间:2023-01-05 格式:DOCX 页数:14 大小:234.42KB
下载 相关 举报
试题高中信息技术期学科Python语言基础期末考试.docx_第1页
第1页 / 共14页
试题高中信息技术期学科Python语言基础期末考试.docx_第2页
第2页 / 共14页
试题高中信息技术期学科Python语言基础期末考试.docx_第3页
第3页 / 共14页
试题高中信息技术期学科Python语言基础期末考试.docx_第4页
第4页 / 共14页
试题高中信息技术期学科Python语言基础期末考试.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

试题高中信息技术期学科Python语言基础期末考试.docx

《试题高中信息技术期学科Python语言基础期末考试.docx》由会员分享,可在线阅读,更多相关《试题高中信息技术期学科Python语言基础期末考试.docx(14页珍藏版)》请在冰豆网上搜索。

试题高中信息技术期学科Python语言基础期末考试.docx

试题高中信息技术期学科Python语言基础期末考试

试题高中信息技术期学科Python语言基础期末考试

一、选择题

1.下面的Python程序段运行后的输出结果是()

List=[‘10’,25,’猕猴桃’,9,65]

Print(List[3])

A.25B.’猕猴桃’C.猕猴桃D.9

2.如下Python程序段

x=2

print(x+1)

print(x+2)

运行后,变量x的值是()

A.2B.3C.5D.

3.下列Python程序段运行的结果是()

x=0

foriinrange(1,20,3):

x=x+i

print(x)

A.80B.190C.70D.210

4.下列不可以用来搭建本地服务器的软件是()

(1)Python

(2)Excel(3)IIS(4)Apache

A.

(1)

(2)B.(3)(4)C.

(1)

(2)(3)(4)D.

(1)

(2)(4)

5.Python定义私有变量的方法为。

()

A.使用__private关键字

B.使用public关键字

C.使用DEF定义变量名

D.使用__XX定义变量名

6.王明同学运用Python语言编写程序,根据输入的体重和身高计算BM值并验算其体重指数是否超标,属于()

A.数据B.信息C.知识D.智慧

7.整型变量x中存放了一个两位数,要将这个两位数的个位数字和十位数字交换位置,例如,13变成31,正确的Python表达式是()

A.(x%10)*10+x//10B.(x%10)//10+x//10

C.(x/10)%10+x//10D.(x%10)*10+x%10

8.对于Python语言中的语句“x=(num//100)%10”,当num的值为45376时,x的值应为()

A.3B.4C.5D.6

9.在Python中,“print(100-33*5%3)”语句输出的是()

A.34B.67C.100D.1

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

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;b=c

二、程序填空

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

print("这一天是当年的第"+str(sum)+''天'')

17.某餐馆近期推出“消费1000元及以上享受8折优惠,1000元以下享受每满100减15优惠”的活动。

以下Python程序段实现了生成顾客消费清单的功能,请补全①②③处代码。

defgs(n):

#字符串长度统一

iflen(n)>=5:

n=_____#取字符串的前5个字符

else:

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]#某顾客所点菜品单价

print("菜品名称","数量","小计")

_____

foriinrange(len(dis)):

print(gs(dis[i]),num[i],"",num[i]*mon[i])

s=s+num[i]*mon[i]

ifs>=r:

total=s*z

else:

______

print("消费合计:

",s)

print("应收现金:

",total)

18.小王编写了“字符串缩写”程序,实现如下功能:

1.输入一串由英文字母和数字组成的字符串,

2.如果字符串有连续字符构成的升序段(后面字符的ASCII值比前面的字符的ASCII值大1),则把升序段缩写成由第一个字符加上“—”和最后一个字符组成的新字符段,

3.例如:

字符串为“abcdf12345becomexy”,则缩写成“a-df1-5becomex-y”。

程序运行时,输入一串字符,输出缩写的字符串,程序运行效果如下图所示:

实现上述功能的程序如下,请在程序划线处填入合适的代码。

s=input("请输入字符串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]

print("缩写后的字符串为:

",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]

s=0

foriinrange(6):

s=s+a[i]

ifa[i]>max:

max=a[i]

ifa[i]

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

【详解】

本题主要考查Python程序的执行。

列表的索引是从0开始的,故List[3]=9,故段运行后的输出结果是9,故本题选D选项。

2.A

【详解】

本题主要考查Python程序的执行。

x=2没有发生改变,只是输出x+1、x+2的值,故本题选A选项。

解析:

A

【详解】

本题主要考查Python程序的执行。

x=2没有发生改变,只是输出x+1、x+2的值,故本题选A选项。

3.C

【详解】

本题主要考查Python程序的执行。

变量i的范围是从1~20,每次递增3,故x=0+1+4+7+10+13+16+19=70,输出x为70,故程序段运行的结果是70,故本题选C选项。

解析:

C

【详解】

本题主要考查Python程序的执行。

变量i的范围是从1~20,每次递增3,故x=0+1+4+7+10+13+16+19=70,输出x为70,故程序段运行的结果是70,故本题选C选项。

4.A

【详解】

本题主要考查服务器的搭建。

Python是程序设计软件,Excel是表格处理软件,IIS是互联网信息服务,Apache是Web服务器软件,IIS和Apache可以用来搭建本地服务器的软件

解析:

A

【详解】

本题主要考查服务器的搭建。

Python是程序设计软件,Excel是表格处理软件,IIS是互联网信息服务,Apache是Web服务器软件,IIS和Apache可以用来搭建本地服务器的软件,故本题选A选项。

5.D

【详解】

本题主要考查Python变量的定义。

Python定义私有变量的方法为使用__XX定义变量名,故本题选D选项。

解析:

D

【详解】

本题主要考查Python变量的定义。

Python定义私有变量的方法为使用__XX定义变量名,故本题选D选项。

6.D

【详解】

本题考查数据、信息、知识、智慧的概念。

数据经过加工,可表达某种意义,则转变为信息;信息经过加工,可用于指导实践,则转变为知识;智慧是人类基于已有的知识,针对物质世界运动过程中产生的问题

解析:

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

解析:

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%10=33,故本题选A选项。

8.A

【详解】

本题主要考查Python语句。

num=45376,x=(45376//100)%10=453%10=3,故x的值应为3,故本题选A选项。

解析:

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,故“

解析:

C

【详解】

本题主要考查Python表达式的计算。

“*”是乘法运算,“%”是取余运算,“*”、“%”优先级一样,按从左到右计算,故100-33*5%3=100-165%3=100-0=100,故“print(100-33*5%3)”语句输出的是100,故本题选C选项。

10.C

【详解】

本题考查的是python基本函数相关知识。

input函数接受一个标准输入数据,返回为string类型,故选项A错误;int可以将一个指定进制的数字型字符串或者十进制数字转化为整形,

解析:

C

【详解】

本题考查的是python基本函数相关知识。

input函数接受一个标准输入数据,返回为string类型,故选项A错误;int可以将一个指定进制的数字型字符串或者十进制数字转化为整形,故选项B错误;print是输出函数,故选项C正确;float用于将整数和字符串转换成浮点数,故选项D错误。

11.B

【详解】

本题主要考查Python程序的执行。

s=0,变量i的范围是1~9,循环体是s=s+i,程序运行后s=s+i=0+1+2+3+4+5+6+7+8+9=45,故本题选B选项。

解析:

B

【详解】

本题主要考查Python程序的执行。

s=0,变量i的范围是1~9,循环体是s=s+i,程序运行后s=s+i=0+1+2+3+4+5+6+7+8+9=45,故本题选B选项。

12.C

【详解】

本题考查的是Python语言相关知识。

Python语言中用缩进来标记语句块,故选项C正确。

解析:

C

【详解】

本题考查的是Python语言相关知识。

Python语言中用缩进来标记语句块,故选项C正确。

13.B

【详解】

本题主要考查Python表达式。

在python语言中表示“x属于区间[a,b)”的正确表达式是a<=xandx

解析:

B

【详解】

本题主要考查Python表达式。

在python语言中表示“x属于区间[a,b)”的正确表达式是a<=xandx

14.B

【详解】

本题主要考查算法流程图知识点。

程序代码中有双分支语句if–else。

所以选B绘制有分支流程图,故本题选B选项。

解析:

B

【详解】

本题主要考查算法流程图知识点。

程序代码中有双分支语句if–else。

所以选B绘制有分支流程图,故本题选B选项。

15.A

【详解】

本题主要考查Python赋值语句。

选项A可以实现交换变量a和b中的值,其余选项均不可以实现交换变量a和b中的值,故本题选A选项。

解析:

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:

])或day=int(s[-2:

])。

③通过循环将前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

【详解】

本题主要考查Python程序的执行与调试。

①此处通过条件分支结构取字符串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

【详解】

本题主要考查Python程序的执行与调试。

①第一空将输入的字符串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

【详解】

本题主要考查Python程序的执行与调试。

①在引用tkinter模块进行界面设计的过程中,窗体中录入评委打分的对象是由Entry控件生成的(Entry是Tkinter用来接收字符串等输入的控件,该控件允许用户输入一行文字),故选A选项。

②题目中算法描述采用的是伪代码,故选A选项。

③从总分中s中去掉最高分max和最低分min,求出其他4位评委的平均分aver作为选手的最终得分,故此处填s-max-min。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 从业资格考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1