1、【试卷3】Python一级考试练习题一、选择题1列表在python中的作用非常强大,它可以包含多个数据元素,下面是列表的数据元素( )。A整数B浮点数C字符串D以上都是2现有如下Python程序: List = Happy, new, year! s = List 1 d = s : -1 执行该程序后,d的值为()ApyBHappCewDne3下面Python代码运行后,a、b的值为( )a=23b=int(a/10)a=(a-b*10)*10b=a+bprint(a,b)A23 2B30 20C30 32D3 24在python计数循环中,列表正确的输写方式是( )。A(1,2,3)B(1
2、,2.3)C1,2.3 D1,2,35计算机能直接接收和执行的程序设计语言为( )AVisual Basic语言BPython语言C机器语言D自然语言6在Python语言中,以下简单数据类型选项中描述错误的是( )A整数(int)、浮点数(float)B字符串(str)C布尔(bool)D2.5+2.5的值是整数(int)类型7小林同学想要利用Python来编写一道程序,解决“1+2+3+100”这个问题,那么小林同学在编写程序的过程中可能会用到哪些语句( )A赋值语句B循环语句C条件语句D输出语句8下列有关于print命令的描述中,正确的是( )A在打印机里打印相关的文本或者数字等B可以用来
3、画图C在屏幕中输出相应的文本或者数字等D执行语句print(“python”,3.7)时会出错9下面哪个不是Python合法的标识符( )Aint_3B30XLCselfD_abc10Python中“ab ”+“cd”*2的结果是( )。Aabcd2BabcdabcdCabcdcdDababcd11在Python中运行后,b的值是 ( )a=6If a=0: b=a+2 Else: b=a-2 print(b)A6B8C10D1212下列 Python 表达式的值为偶数的是( )A12*3%5Blen(“Welcome”)Cint(3.9)Dabs(-8)13下图是python34安装后目录文
4、件的磁盘文件存储结构,下列说法错误的是( )A图中文件存储结构为树结构,python34为树的根结点(父节点)B图中python34根结点有4个子结点C图中python34根结点下有5个子树(子结点)D图中Tools是python34的子树(子结点)14在Python中print(8+7%2*2)的执行结果是( )A5B1C6D1115下列选项中,可以作为 Python程序变量名的是( )Aa/bBabCa+bDa-b二、程序填空16编写Python程序实现如下功能:输入年月日,输入格式如“2021-06-21”,年月日之间用“-”分隔。判断这一天是这一年的第几天。以2021-06-21为例,
5、前面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(s5:7) sum=0for i in range( ):sum+=monisum+
6、=dayif :isleap=Trueelse:isleap=Falseif sum+=1print(这一天是当年的第 +str (sum)+天)17学习了Python绘制图形操作后,信息小组接到了编程演示的任务。为此,小组同学编写了一段代码,绘制出多个不同颜色的圆形。代码如下:import turtleturtle. bgcolor(black)colors=red, green, blue, yellowfor x range(100):turtle. pencolor(colorsx%4)turtle. circle(x)turtle. left(90)请分析任务,完成下列题目。(1)程
7、序中处应填写(_) 。Aprint Binput Cin Dcolors(2)程序中x%4的作用是(_)。A计算x乘以4的结果B计算x除以4的整数部分C计算x除以4的小数部分D计算x除以4的余数(3)执行此程序,绘制出圆形的总颜色数是(_)。A1 B4 C5 D100(4)执行此程序,绘制出圆形的总个数是(_)。A1 B4 C99 D100(5)此程序属于程序设计结构中的(_)。A顺序结构 B分支结构C循环结构 D跳转结构18程序设计:在舞会上,男生、女生各自排成一队。舞会开始时,依次从男队和女队的队头各出一人配成舞伴。跳完后的两人重新回到队尾。例如:boyAlex,Steven,Jack,g
8、irlAda*,Babs.,Danla,Jane输出:Turn1:(Alex,Ada)Turn2:(Steven,Babs)Turn3:(Jack,Danla)Turn4:(Alex,jane)Turn12:(Jack,jane)代码如下:boyAlex,Steven,JackgirlAda,Babs,Danla,Janefor i in range(12):x,y #出队 print(“Turn:2):(,).format(i1,x,y) boy.append( ) #再进队 girl.append( ) #再进队(1)程序代码中处正确的代码是(_)。Aboy.pop(l).girl.pop
9、(l) Bgirl.pop(l),boy.pop(l)Cboy.pop(0),girl.pop(0) Dgirl.pop(0),boy.pop(0)(2)程序代码中处正确的代码是(_)。Ax By Ci Di1(3)程序代码中处正确的代码是(_)。Ax By Ci Di119输入三个同学的成绩,然后大到小排列。20(项目情境)在中国古代,出自数学家张丘建的算经中这样一个值得研究的问题:今有鸡翁一,直钱五;鸡母一,直钱三;鸡雏三,直钱一。凡百钱,买鸡百只。问鸡翁、母、雏各几何?这个问题就是著名的“百钱买百鸡问题”。即:现有100文钱,公鸡5文钱一只,母鸡3文钱一只,小鸡一文钱3只,要求:公鸡,母
10、鸡,小鸡都要有,把100文钱买100只鸡,买的鸡是整数。问公鸡、母鸡和小鸡各几何?(问题求解)设用变量g、m、x三个变量分别存放公鸡、母鸡和小鸡的数量,请阅读如下程序,在空白处填写适当的表达式或语句,使程序完整。for g in range(1,20): for m in _: for x in range(3,98,3): if _ and _ =100: print(公鸡:,g,母鸡:,m,小鸡:,x)21程序补充:(1)有5万元资金存入银行,选择“1年定期.自动转存”的存款方式,由于银行利率是不断变化的,这5年利率分别是3.25%.3%.3%.2%.1.75%,5年后会有多少收益呢?调用
11、round()函数,保留结果两位小数。 money =_ rate=_ for_ _ print(“5年以后存款总额:”,money,“元”) (2) 某投资者购买了10万元一年期收益率3.7%的银行保证收益型理财产品。每年理财赎回后,他会提取2万元用作生活所需,余下资金仍购买此种理财。在收益率不变的情况下,多少年后本金被全部取出? money= _ year= _ while _ _ _ print(year,“年后资金被全部取出”)【参考答案】*试卷处理标记,请不要删除一、选择题1D【详解】本题考查的是python中的列表相关知识,列表可以包含任意类型的元素,可以在同一个列表中存储字符串、
12、浮点类型、对象、复数类型等数据。故选项D正确。解析:D【详解】本题考查的是python中的列表相关知识,列表可以包含任意类型的元素,可以在同一个列表中存储字符串、浮点类型、对象、复数类型等数据。故选项D正确。2D【详解】本题主要考查Python列表运算。 s = List 1 =new, d = s : -1 =ne(表示去除字符串s最后一个字符剩下的部分),故本题选D选项。解析:D【详解】本题主要考查Python列表运算。 s = List 1 =new, d = s : -1 =ne(表示去除字符串s最后一个字符剩下的部分),故本题选D选项。3C【详解】本题主要考查Python程序执行。a
13、=23,b=int(a/10)=2,a=(a-b*10)*10=30,b=a+b=32,故代码运行后,a、b的值为30、32,故本题选C选项。解析:C【详解】本题主要考查Python程序执行。a=23,b=int(a/10)=2,a=(a-b*10)*10=30,b=a+b=32,故代码运行后,a、b的值为30、32,故本题选C选项。4D【详解】本题考查的是python列表相关知识。列表参数必须是由方括号括起来的列表,参数之间用分号。故选项D正确。解析:D【详解】本题考查的是python列表相关知识。列表参数必须是由方括号括起来的列表,参数之间用分号。故选项D正确。5C【详解】本题主要考查程序
14、设计语言。Visual Basic语言、Python语言是高级语言,计算机能直接接收和执行的程序设计语言为机器语言,故本题选C选项。解析:C【详解】本题主要考查程序设计语言。Visual Basic语言、Python语言是高级语言,计算机能直接接收和执行的程序设计语言为机器语言,故本题选C选项。6D【详解】本题主要考查Python数据类型。整数(int)、浮点数(float)、字符串(str)、布尔(bool),2.5+2.5=5.0,值是浮点数(float)类型,故本题选D选项。解析:D【详解】本题主要考查Python数据类型。整数(int)、浮点数(float)、字符串(str)、布尔(b
15、ool),2.5+2.5=5.0,值是浮点数(float)类型,故本题选D选项。7ABD【详解】本题考查Python语句。初始值会涉及到赋值语句、从1加到100会用到循环语句、最后会输出结果用到输出语句。故本题选ABD解析:ABD【详解】本题考查Python语句。初始值会涉及到赋值语句、从1加到100会用到循环语句、最后会输出结果用到输出语句。故本题选ABD8C【详解】本题主要考查print函数。print命令在屏幕中输出相应的文本或者数字等,执行语句print(“python”,3.7)的结果是python 3.7,故本题选C选项。解析:C【详解】本题主要考查print函数。print命令在
16、屏幕中输出相应的文本或者数字等,执行语句print(“python”,3.7)的结果是python 3.7,故本题选C选项。9B【详解】本题主要考查Python变量的命名。变量的命名规则有:只能以字母或下划线开头,不能包含特殊符号,不能是关键字。故30XL不是Python合法的标识符,故本题选B选项。解析:B【详解】本题主要考查Python变量的命名。变量的命名规则有:只能以字母或下划线开头,不能包含特殊符号,不能是关键字。故30XL不是Python合法的标识符,故本题选B选项。10C【详解】本题主要考查Python表达式的运算。字符串乘上整数 n,将返回由 n 个此字符串拼接起来的新字符串,
17、故该表达式的运算结果是abcdcd,故本题选C选项。解析:C【详解】本题主要考查Python表达式的运算。字符串乘上整数 n,将返回由 n 个此字符串拼接起来的新字符串,故该表达式的运算结果是abcdcd,故本题选C选项。11B【详解】本题主要考查Python程序的执行。a=6,满足a=0,执行b=a+2=8,故在Python中运行后,b的值是8,故本题选B选项。解析:B【详解】本题主要考查Python程序的执行。a=6,满足a=0,执行b=a+2=8,故在Python中运行后,b的值是8,故本题选B选项。12D【详解】本题主要考查Python表达式。12*3%5=1,len(“Welcome
18、”)=7,int(3.9)=3,abs(-8)=8,故本题选D选项。解析:D【详解】本题主要考查Python表达式。12*3%5=1,len(“Welcome”)=7,int(3.9)=3,abs(-8)=8,故本题选D选项。13B【详解】本题主要考查计算机文件存储结构。由图可知,图中文件存储结构为树结构,python34为树的根结点(父节点);图中python34根结点有8个子结点;图中python34根结点下有5个子解析:B【详解】本题主要考查计算机文件存储结构。由图可知,图中文件存储结构为树结构,python34为树的根结点(父节点);图中python34根结点有8个子结点;图中pyth
19、on34根结点下有5个子树(子结点);图中Tools是python34的子树(子结点),故本题选B选项。14D【详解】本题考查的是Python表达式。*是幂次方优先级最高,%是求余。8+7%2*2=8+7%4=8+3=11,print是输出语句。故选项D正确。解析:D【详解】本题考查的是Python表达式。*是幂次方优先级最高,%是求余。8+7%2*2=8+7%4=8+3=11,print是输出语句。故选项D正确。15B【详解】本题主要考查Python变量的命名。变量的命名规则有:只能以字母或下划线开头,不能包含特殊符号,不能是关键字。故ab可以作为 Python程序变量名,故本题选B选项。解
20、析:B【详解】本题主要考查Python变量的命名。变量的命名规则有:只能以字母或下划线开头,不能包含特殊符号,不能是关键字。故ab可以作为 Python程序变量名,故本题选B选项。二、程序填空16day=int(s8:)或day=int(s-2:) 0,month-1 isleap and month2 year%4=0 and year%100!=0 or year%400=0 【详解】本题主要考查Python程序的执行与调试。2020年是闰年,2月是29天,故“2020-05-20”这一天是这一年的第31+29+31+30+20=141天。变量s是字符串型,下标从0开始,此处是将输入日期中
21、的天取出来放到变量day中,可以使用切片操作:从左边开始截取,也可以从右边截取,故此处填day=int(s8:)或day=int(s-2:)。通过循环将前month-1个月的天数加起来,故变量i的范围是0到month-1,故填0,month-1。变量isleap标记是不是闰年,如果isleap值为真且month2,则sum需要递增1,故填isleap and month2。由题干闰年判断条件,可知加框处应改为year%4=0 and year%100!=0 or year%400=0。17C D B D C 【详解】本题主要考查Python程序调试。Python程序for循环格式是:for 变
22、量 in range( ),故程序中处应填写in,选C选项。程序中x%4的作用是计算x除以4的余数,选D选项。colors=red, green, blue, yellow,依次循环从colors中取颜色,故执行此程序,绘制出圆形的总颜色数是4,故本题选B选项。x的范围是从0到99,故执行此程序,绘制出圆形的总个数是100个,选D选项。此程序属于程序设计结构中的循环结构,选C选项。18C A B 【详解】本题主要考查队列数据结构及Python程序。队列是从队头出队,队尾入队,使用pop函数出队,队头的索引值是0,故此处填boy.pop(0),girl.pop(0)。队列入队使用append方法
23、追加到队列尾,此处是男生入队boy.append(x),故选A选项。同理,此处是女生入队girl.append(y),故选B选项。19【详解】本题主要考查程序设计与实现。可以使用Python程序实现题干要求:20range(1,33) g+m+x=100 5*g+3*m+x/3 【详解】本题考查的是算法中的经典问题。百鸡百钱问题是典型的枚举算法解决,枚举算法的关键就是找到问题解决的条件和枚举范围。210.0325,0.03,0.03,0.02,0.0175 i in rate:(没有冒号算错误) money=round(money*(1+i),2) 100000 0 money0 或 mone
24、y=0 money=round(money*1.037-20000,2) year=year+1 【详解】本题主要考查Python程序语句。此处是变量money的初始化,有5万元资金存入银行,故填50000。5年利率分别是3.25%、3%、3%、2%、1.75%,用rate数组保存,故填0.0325,0.03,0.03,0.02,0.0175。通过for循环,从rate数组中取值,故填i in rate:(没有冒号算错误)。调用round()函数,保留结果两位小数,故填money=round(money*(1+i),2)。购买了10万元一年期收益率3.7%的银行保证收益型理财产品,故money的初始值为100000,故填100000。year的初始值也为0,故填0。循环条件是money大于0或大于等于0,故填money0 或 money=0。收益率3.7%,每年理财赎回后,会提取2万元用作生活所需,余下资金仍购买此种理财,使用round函数保留2位小数,故填money=round(money*1.037-20000,2)。循环变量是year,此处year递增进入下一轮循环,故填year=year+1。