
一、选择题
1.在Python中,设a=2,b=3,表达式a>b and b>=3的值是( )
A.1 .-1 .True .False
2.设a=2,b=5,在python中,表达式a>b And b>3的值是( )
A.False .True .-1 .1
3.在Python中,字符串运算符“+”的作用是把字符串进行连接,则表达式"20"+"19"+"20+19"的运算结果是( )
A.392019 .201939 .201920+19 .3939
4.在Python中,input()函数的返回结果的数据类型为( )
A.Number型 .String型 .List型 .Sets型
5.现有如下python程序段:
for i in range( 6 ):
p.append( int( random() * 10 ) + 1 )
for i in range( 2, 6 ):
if i % 2 == 1 and p[ i ] % 2 == 0:
p[ i ] += p[ i - 1]
elif i % 2 == 0 and p[ i ] % 2 == 1:
p[ i ] -= p[ i - 1]
执行该程序段后,在下列选项中,列表p中的元素值不可能的是()
A.1, 2, 3, 4, 7, 2
B.1, 2, 14, -9, -5, 8
C.6, 8, 1, 4, 6, 10
D.6, 4, 14, -7, 3, 8
6.我们可以对文本中词频较高的分词,通过词云图给予视觉上的突出,小明打算用Python程序来生成词云图,程序中需要用到以下哪个第三方库?( )
A.WordCloud .math .random .turtle
7.Python语句 "ab"+"c"*2 的运行结果是( )
A.abc2 .abcabc .abcc .ababcc
8.下列选项中,能作为python程序变量名的是( )
A.s%1 .3stu .while .dist
9.下列可以被计算机直接执行的程序是( )
A.机器语言程序 .高级语言程序 .汇编语言程序 .Python源程序
10.已知列表list1=[10,66,27,33,23],则python表达式max(list1)的值为( )
A.10 .66 .5 .23
11.已知字符串a="python",则a[-1]的值为( )
A."p" ."n" ."y" ."o"
12.python文件的扩展名是( )
A.py .pye .vbp .pyr
13.在Python中,算式5+6*4%(2+8)结果为( )
A.25
B.15
C.9
D.7.4
14.Python文件的后缀名是( )
A.pdf .do .pass .py
15.算法用Python程序实现,以下代码中哪处语句存在语法错误( )
A. . . .
二、程序填空
16.使用Python自身提供的IDLE集成开发环境录入以下代码及调试
运行,检测结果。
# 鸡兔同笼
for x in range(1,23):
y=35-x
if 4*x+2*y==94:
print("兔子有%s只,鸡有%s只"%(x,y))
特别提示:代码录入完毕,调试运行,检测错误,讨论错误原因,上网查找错误格式的处置办法,直至能正确输出结果。
17.某仓库物品代码格式为“X-XXXXXXX-Y”,其中“X”和“Y”均为0到9之间的数字,“Y”为校验码。校验码由前面9个X计算得到,计算方法为:从左边开始,第1个数字乘以1加上第2个数字乘以2……依次类推,直到加上第9个数字乘以9,将该结果除以10,所得余数即为校验码。用Python设计一个程序,输入物品代码,判断输入的代码中校验码是否正确,如果正确输出“正确”,否则输出“错误"。运行样例如下所示:
样例1:
输入:2-163-91475-4
输出:正确
样例2:
输入:2-163-91475-5
输出:错误
(1)Python程序实现如下,请在划线处填入正确的代码:
s=input("输入物品代码: ")
a=[]
for i in range (0, 13):
if ___
a. append(int (s[i])) #append( )函数用于在列表末尾添加新的对象
sum=0
for i in range(0, 9) :
____
sdm=sum%10
___
if sdm==ydm :
print("正确")
else:
print("错误")
18.水仙花数是指一个三位数,它的每个位上的数字的3次方之和就等于它本身,例如:1**3+5**3+3**3=153。这类三位数也被叫做自恋数、自幂数或者阿姆斯特朗数。
[问题求解]设这个数存放于变量x中,变量g、s、b分别存放个位、十位、百位上的数。需得分离数字得到每位上的数,即将变量g、s、b表示为x的形式。请阅读如下python程序,在空白处填写适当的表达式或语句,使程序完整。
print ("三位数之内的水仙花是:")
for x in___(100,1000):
b=x//100
s=(x//10)___
g=___
If x=(b**3 +s**3+g**3):
print(___)
19.某市普通高中选课数据如图1所示,学生从地理、化学、生物等科目中选择三门作为高考选考科目,“1”表示已选择的选考科目。使用 Python编程分析每所学校各科目选考的总人数、全市各科选考总人数及其占比,经过程序处理后,保存结果如图2
图1
图2
实现上述功能的 Python程序如下:
import pandas as pd
import itertools
#读数据到pandas的 DataFrame结构中
df=________ (”xk73.csv”,sep=‘.’,header=‘infer’,encoding=‘utf-8’)
km=[‘物理’ ,‘化学’ ,‘生物’ ,‘政治’ ,‘历史’ ,‘地理’ ,‘技术’ ]
#按学校分组计数
sc=df.groupby(‘___________ ’ ,as_index=False).count()
#对分组计数结果进行合计,合计结果转换为 DF结构并转置为行
df_sum=pd.DataFrame(data=sc.sum()).T
df_sum[‘学校代码’]=‘合计’
#增加"合计"行
result=sc.append(df_sum)
#百分比计算
df_percent=df_sum
df_percent[‘学校代码’]=‘比例’
for k in km:
per=df_percent.at[0,k]/zrs
df_percent[k]=per
#增加"百分比"行
result=result.append(df_percent)
#删除"姓名"列
result=______________
#修改"学生编号"为"总人数"
result=result.rename(columns={‘学生编号’:‘总人数’})
#保存结果,创建 Excel文件.生成的 Excel文件
result.to_excel("学校人数统计.xlsx")
(1)请在划线处填入合适的代码:
(2)加框处语句的作用是__________________
20.地球绕太阳的运行周期为365天5小时48分46秒(合365.24219天),即一回归年。公历的平年只有365天,比回归年短约0.2422天,每四年累积约一天,把这一天加于2月末(即2月29日),使当年的时间长度变为366天,这一年就是闰年。判断某一年是否是闰年的方法是年份数能被4整除,但不能被100整除,或者年份数能被400整除。以下是一段用于判断某一年是否是闰年的程序。
请将上面程序框中空格处的内容填写完整,其中①处填写代码注释
___________ ______ __________ _______ _______
21.分析完善程序
已知包含25项的数列: 1,2/3,3/5,....,24/47,25/49。
问题1 :写出该数列的通项公式f(n)= _①
问题2 :以下是计算S=1+ 2/3+3/5+ ... + 24/47+ 25/49的程序,请补全代码:
s=0
for i in range(1,26):
s=s+ ②
print(“s=”,s)
补充完成上述通项公式和程序:
①f(n)=_________
②___________
【参】***试卷处理标记,请不要删除
一、选择题
1.D
【详解】
本题主要考查Python表达式的运算。逻辑运算符and两边都为真,值才为真,否则为假。a=2,b=3,a>b值为假,b>=3值为真,故表达式a>b and b>=3的值是False,故
解析:D
【详解】
本题主要考查Python表达式的运算。逻辑运算符and两边都为真,值才为真,否则为假。a=2,b=3,a>b值为假,b>=3值为真,故表达式a>b and b>=3的值是False,故本题选D选项。
2.A
【详解】
本题主要考查Python表达式的运算。a=2,b=5,a>b值为False,b>3值为True,逻辑运算符“And”两边都为真,表达式的值才为真,故表达式a>b And b>3的值是F
解析:A
【详解】
本题主要考查Python表达式的运算。a=2,b=5,a>b值为False,b>3值为True,逻辑运算符“And”两边都为真,表达式的值才为真,故表达式a>b And b>3的值是False,故本题选A选项。
3.C
【详解】
本题考查的是python语言。在python语言中,双引号之间是输出的是字符串。三对字符串之间都是原样输出。故选项C正确。
解析:C
【详解】
本题考查的是python语言。在python语言中,双引号之间是输出的是字符串。三对字符串之间都是原样输出。故选项C正确。
4.B
【详解】
本题主要考查Python输入函数。在Python中,input()函数的返回结果的数据类型为字符串String型,故本题选B选项。
解析:B
【详解】
本题主要考查Python输入函数。在Python中,input()函数的返回结果的数据类型为字符串String型,故本题选B选项。
5.BD
【详解】
本题主要考查Python程序执行。第一个for循环生成列表p,值是[1,10]之间随机整数,第二个for循环处理后4个元素,当i是奇数且生成的p[i]是偶数,则将前一个值累加到p[i
解析:BD
【详解】
本题主要考查Python程序执行。第一个for循环生成列表p,值是[1,10]之间随机整数,第二个for循环处理后4个元素,当i是奇数且生成的p[i]是偶数,则将前一个值累加到p[i],若i是偶数且生成的p[i]是奇数,则p[i]减去前一个值,分析选项B、D第三个元素14,此时i=2,如果p[2]原来生成的是奇数,则需要执行 p[ i ] -= p[ i - 1],否则不变,即p[2]不会大于10,故执行该程序段后,列表p中的元素值不可能是1, 2, 14, -9, -5, 8或6,4, 14, -7, 3, 8,故本题选BD选项。
6.A
【详解】
本题主要考查Python库。WordCloud是优秀的词云展示第三方库 ,math库提供常用的数学函数,random提供常用的随机函数,turtle库用于绘图,故本题选A选项。
解析:A
【详解】
本题主要考查Python库。WordCloud是优秀的词云展示第三方库 ,math库提供常用的数学函数,random提供常用的随机函数,turtle库用于绘图,故本题选A选项。
7.C
【详解】
本题主要考查Python表达式的运算。“ab”、“c”是字符型数据类型,“c”*2=“cc”,故 "ab"+"c"*2 的运行结果是abcc,故本题选C选项。
解析:C
【详解】
本题主要考查Python表达式的运算。“ab”、“c”是字符型数据类型,“c”*2=“cc”,故 "ab"+"c"*2 的运行结果是abcc,故本题选C选项。
8.D
【详解】
本题主要考查Python变量的命名。变量的命名规则有:只能以字母或下划线开头,不能包含特殊符号,不能是关键字。故dist能作为python程序变量名,故本题选D选项。
解析:D
【详解】
本题主要考查Python变量的命名。变量的命名规则有:只能以字母或下划线开头,不能包含特殊符号,不能是关键字。故dist能作为python程序变量名,故本题选D选项。
9.A
【详解】
本题考查的是计算机程序语言。计算机程序语言可以分为:机器语言、汇编语言、高级语言。其中机器语言是由0和1组成,可以被计算机直接执行。故本题应选A。
解析:A
【详解】
本题考查的是计算机程序语言。计算机程序语言可以分为:机器语言、汇编语言、高级语言。其中机器语言是由0和1组成,可以被计算机直接执行。故本题应选A。
10.B
【详解】
本题主要考查Python表达式的运算。max返回序列最大值,列表list1=[10,66,27,33,23],则python表达式max(list1)的值为66,故本题选B选项。
解析:B
【详解】
本题主要考查Python表达式的运算。max返回序列最大值,列表list1=[10,66,27,33,23],则python表达式max(list1)的值为66,故本题选B选项。
11.B
【详解】
本题主要考查Python序列索引值。任意长度的字符串,最后一个元素的索引值是-1,故a[-1]的值为"n",故本题选B选项。
解析:B
【详解】
本题主要考查Python序列索引值。任意长度的字符串,最后一个元素的索引值是-1,故a[-1]的值为"n",故本题选B选项。
12.A
【详解】
本题主要考查Python文件。python文件的扩展名是py,故本题选A选项。
解析:A
【详解】
本题主要考查Python文件。python文件的扩展名是py,故本题选A选项。
13.C
【详解】
本题主要考查Python表达式的运算。小括号优先级最高,*和%求余数是第二等级,从左到右,5+6*4%(2+8)=5+6*4%10 =5+ 24%10=5+4=9,故本题选C选项。
解析:C
【详解】
本题主要考查Python表达式的运算。小括号优先级最高,*和%求余数是第二等级,从左到右,5+6*4%(2+8)=5+6*4%10 =5+ 24%10=5+4=9,故本题选C选项。
14.D
【详解】
本题主要考查Python文件知识点。Python文件的后缀名是py,故本题选D选项。
解析:D
【详解】
本题主要考查Python文件知识点。Python文件的后缀名是py,故本题选D选项。
15.D
【详解】
本题考查的是Python程序调试。双分支IF语句。if (条件)后面要加冒号,else后面也要加冒号。故标号4中存在语法错误。
解析:D
【详解】
本题考查的是Python程序调试。双分支IF语句。if (条件)后面要加冒号,else后面也要加冒号。故标号4中存在语法错误。
二、程序填空
16.错误1:兔子4只腿,最多只能是23只,而 range(1,23)只取到22,没取到23,故应改为: range(1,24)
错误2:缩进错误,y=35-x、if 4*x+2*y==94:是for语句中的语句块,应缩进。print("兔子有%s只,鸡有%s只"%(x,y))是if语句中的语句块,应缩进。
【详解】
本题考查的是Python调试。本题程序错误如下:
错误1:兔子4只腿,最多只能是23只,而 range(1,23)只取到22,没取到23,故应改为: range(1,24)
错误2:缩进错误,y=35-x、if 4*x+2*y==94:是for语句中的语句块,应缩进。print("兔子有%s只,鸡有%s只"%(x,y))是if语句中的语句块,应缩进。
调试完最终输出:兔子有12只,鸡有23只。
17."0"<=s[i]<="9" 或s[i] in "01234567” sum=sum+a[i]*(i+1) ydm=a[9]
【详解】
本题主要考查Python程序执行与调试。①变量s保存商品仓库物品代码,若s[i]是数字则进入循环判断,否则跳过,故此处判断条件是"0"<=s[i]<="9" 或s[i] in "01234567”。②校验码由前面9个X计算得到,计算方法为:从左边开始,第1个数字乘以1加上第2个数字乘以2……依次类推,直到加上第9个数字乘以9,用变量sum统计,故此处填sum=sum+a[i]*(i+1)。③变量sdm是计算得到的校验码,变量ydm是输入的校验码,此处需要将校验码a[9]赋给变量ydm,故填ydm=a[9]。
18.range %10 x% 10或x-b*100-s*10或其它同等答案 x
【详解】
本题考查的是Python程序设计。水仙花数是指一个三位数,故使用range函数遍历100~999;s存放的是十位数,故可以选对x取整后再除以10求余,故第二空应填%10(求余符号%);g是存放个位,直接除以10求余,或减去前面整百和整十的数,故第三空为:x% 10或x-b*100-s*10或其它同等答案;如果找到满足条件的数,则输出,故第四空为:x。
19.pd.read_ csv 学校代码 result.drop (‘姓名’ ,axis=1) 将总人数存储到变量zrs中
【详解】
本题主要考查Python程序的执行与调试。①将csv文件读入并转化为数据框形式,故填pd.read_ csv。②groupby函数主要的作用是进行数据的分组,此处按学校分组计数,故填学校代码。③此处删除"姓名"列,可以使用drop()函数来删除,故填result.drop (‘姓名’ ,axis=1)。④zrs=len(df.index),该语句是统计df内有多少个元素,即将总人数存储到变量zrs中。
20.将year转换为整型数据,并赋值给year And year%100 != 0 or year
【详解】
本题主要考查Python程序设计。①input接收的数据类型是字符串型,该语句表示将year转换为整型数据,并赋值给year。判断某一年是否是闰年的方法是年份数能被4整除,但不能被100整除,或者年份数能被400整除,故第二、三、四空分别填② And ③year%100 != 0 ④or ⑤最后输出打印某一年是否是闰年,需要将year转换为字符型。
21.n/(2*n-1)或n/(n*2-1) i/(2*i-1) 或 i/(i*2-1)
【详解】
本题主要考查Python程序的执行与调试。①分析数列可知,分子第n项是n,分母第n项是2*n-1,故该数列的通项公式f(n)=n/(2*n-1)或n/(n*2-1)。②此处是对前n项进行求和,变量是i,使用语句s=s+i/(2*i-1) 或s=s+ i/(i*2-1),故此处填i/(2*i-1) 或 i/(i*2-1)。
