python二级模拟卷2程序填空阅读填空程序试题.docx
- 文档编号:10101136
- 上传时间:2023-02-08
- 格式:DOCX
- 页数:35
- 大小:1.51MB
python二级模拟卷2程序填空阅读填空程序试题.docx
《python二级模拟卷2程序填空阅读填空程序试题.docx》由会员分享,可在线阅读,更多相关《python二级模拟卷2程序填空阅读填空程序试题.docx(35页珍藏版)》请在冰豆网上搜索。
python二级模拟卷2程序填空阅读填空程序试题
python二级模拟卷2程序填空阅读填空程序试题
一、程序填空
1.某品牌手机第一年销量为20000台,假设平均每年的销量比上一年增加68%,请问几年后能使总销量达到60000台。
下面的程序能实现上述的功能,请将缺失的代码补充完整。
total=every_year=20000
year=1
while__________________:
every_year+=____________
total+=every_year
year+=1
print(year)
2.请在空格处填写正确的代码,使程序完善。
实现功能:
用辗转相除法求解两个正整数的最大公约数。
x=int(input('请输入第一个正整数:
'))
y=int(input('请输入第二个正整数:
'))
m=max(x,y)#找出x,y中的最大值
n=min(x,y)#找出x,y中的最小值
r=m%n#求得最大值除以最小值后的余数
whiler!
=0:
#如果余数不等0,则进行以下循环
m=________#把最小值赋给m
n=_________#把余数赋给n
r=m%n#求得最大值除以最小值后的余数
print('这两个数的最大公约数为:
',______)
input("运行完毕,请按任意键退出....")
3.请在空格处填写正确的代码,使程序完善。
实现功能:
绘制y=x2-2x+1的图像
#加载numpy模块并限简洁的别名为np
importnumpyasnp
#加载matplotlib.pyplot模块并限简洁的别名为plt
importmatplotlib.pyplotasplt
#x在-7到9之间,每隔0.1取一个点
x=np.arange(-7,9,0.1)
_____=x**2-2*x+1
plt.plot(x,________)
plt.title('y=x*x-2*x+1')
plt.xlabel('x')
plt.ylabel('y')
plt._________
4.完善程序。
以下是计算S=1+6+11+…+101的程序代码。
请你在
处填写正确的语句。
s=0
k=1
while(k<=101)
__
s=0
k=1
while(k<101):
k=k+5
s=s+k
print(s+1)
5.编写程序,找到并输出100以内的素数。
6.分析完善程序
[背景知识]为了保障空气质量,减少雾霾,某市决定当空气污染严重时,实行汽车单双号限行,违反规定的车辆将予以处罚。
如何让高清摄像头自动判断车牌的单双号,交警犯了愁,他需要编程高手的你帮忙,完善下面的程序。
(提示:
①所有车牌号中都含有数字,并且车牌号的长度都是6;②以车牌中最后一位阿拉伯数字的奇、偶来决定单双号。
)如:
请根据上述算法描述补全代码
s=input("车牌号s=")
n=6
x=s[n-1:
n]
whilex.isdigit()==False:
①
x=s[n-1:
n]
if②==0:
print(“双号”)
else:
print(“单号”)
(提示:
s[n:
m]的功能:
从字符串s的
下标为n的元素开始,截取到下标为m-1的元素。
例如:
s="12345",s[2:
4]="34"。
s.isdigit):
判断是否为数字。
)
(1)根据题意,程序中空白①处应填写:
______
(2)根据题意,程序中空白②处应填写:
______(填:
A/B/C/D)。
A.int(x)/2==0B.int(x)%2==0C.int(x)%2=0D.int(x)%2!
=0
7.程序分析题
学校举行校园歌手大赛,评委由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步。 请填写片段中空白处的表达式填写完整________ 8.利用for循环,分别计算1--100中奇数的和、偶数的和。 9.输入三个同学的成绩,然后大到小排列。 10.输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 11.编写一个程序,判定用户输入的两个数a和b,如果用户输入的第一个数大,则两数互换,否则原样输出。 12.操作说明: 打开文件“Y: /2/2.py”,在代码窗口指定位置<1>、<2>处修改完善程序代码,不得增加、删除语句或改变程序原有结构,操作结束后保存。 以下程序段的功能是: 输入一个正整数n(1至100),输出它的约数的个数。 s=0 n=int(input(“请输入一个正整数: ”)) ifn<1orn>100: exit#输入的数不符合要求,退出 foriinrange(1,n+1): ifn//i=0: ___<1> s=s+i<2> print(“约数的个数是: ”,s) 13.操作说明: 编写一个程序实现以下功能,将程序以“Y: /3/3.py”作为文件名保存。 题目: 设计100以内的数中能同时被3或5整除的个数。 14.“百鸡百钱”问题是一个有名的数学问题,出自《张丘建算经》。 其内容是: 公鸡5文钱1只,母鸡3文钱1只,小鸡3只1文钱,用100文钱买100只鸡,其中公鸡、母鸡和小鸡都必须要有,问公鸡、母鸡和小鸡各多少只? (1)请在空格处填写正确的代码,使程序完善实现以下功能。 money=100#一共100文钱 num=100#一共100只鸡 cock_price=5#公鸡价格5文 hen_price=3#母鸡价格3文 threechick_price=1#3只小鸡1文 forcock_numinrange(1,_______): #公鸡只数可能为1-20 forhen_numinrange(1,_________): #母鸡只数可能为1-33 forchick_numinrange(1,101): #(3小鸡)只数可能为1-100 money1=cock_num*cock_price+hen_num*hen_price+chick_num/threechick_price num1=cock_num+hen_num+chick_num ifmoney1==moneyandnum1==num: print(cock_num,hen_num,__________) input("运行完毕,请按回车键退出...") (2)运行程序,运行结果如图所示。 15.“百鸡百钱”问题是一个有名的数学问题,出自《张丘建算经》。 其内容是: 公鸡5文钱1只,母鸡3文钱1只,小鸡3只1文钱,用100文钱买100只鸡,其中公鸡、母鸡和小鸡都必须要有,问公鸡、母鸡和小鸡各多少只? 打开文件“考生文件夹\644\百鸡百钱.py”,完善程序实现以下功能并保存。 (1)请不要更改源程序的结构,删除原题里的①、②、③。 填写正确的代码,使程序完善。 (2)运行程序,运行结果如图所示。 #请不要更改源程序的结构,删除原题里的①、②、③。 填写正确的代码,使程序完善 money=100#一共100文钱 num=100#一共100只鸡 cock_price=5#公鸡价格5文 hen_price=3#母鸡价格3文 threechick_price=1#3只小鸡1文 forcock_numinrange(1,money//cock_price+1): #公鸡只数可能为1-20 forhen_numinrange(1,①________): #母鸡只数可能为1-33 forchick_numinrange(1,②________): #(3小鸡)只数可能为1-100 money1=cock_num*cock_price+hen_num*hen_price+chick_num*threechick_price num1=cock_num+hen_num+chick_num*3 ifmoney1==moneyandnum1==num: print(cock_num,hen_num,③________)#(③小鸡数) input("运行完毕,请按回车键退出...") 16.编写程序。 如图所示的算法,请用Python程序写出实现该算法相应的代码。 17.已知6月份10位技术考试成绩: 1 2 3 4 5 6 7 8 9 10 78 88 89 90 83 76 75 98 100 65 技术老师想统计出80分(含80)以上的人数,请完善程序,代码如下: a=[78,88,89,90,83,76,75,98,100,65] ______ sum=0 foriinrange(n): ifa[i]>=80: ________ print(sum) 执行上述程序段后,输出的内容是______ 18.阅读程序。 观察使用随机数求解百钱白鸡问题的代码并回答问题。 百千白鸡问题是经典的数学问题,原题为“鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,则翁、母、雏各几何? ”翻译过来,意思是公鸡一个五块钱,母鸡一个三块钱,小鸡三个一块钱,现在要用一百块钱买一百只鸡,问公鸡、母鸡、小鸡各多少只? importrandom whileTrue: x=random.randrange(0,20) y=random.randrange(0,33) z=random.randrange(0,100) if5*x+3*y+z/3==100andx+y+z==100: print('公鸡',x) print('母鸡',y) print('小鸡',z) (1)Python中导入库文件的命令是________。 (2)random.randrange(0,20)生成的随机数的范围是_________ 。 (3)如果不想写类似random.randrange(0,20)这么长的句子,可以修改程序中的第一行为 ________ (4)whileTrue的作用是______。 (5)如果whileTrue造成程序无法停止,我们可以在程序中添加一行_________。 19.(项目情境)递归就是自己调用自己,它是设计和描述算法的一种有力工具,常常用来解决比较复杂的问题。 为求解规模为N的问题,设法将它分解成规模较小的问题,从小问题的解容易构造出大问题的解,并且这些规模问题较小的问题也能采用同样的分解方法,分解成规模更小的问题,并能从这些更小问题的解构造出规模较大问题的解。 一般情况下,规模N=1时,问题的解是已知的。 已知: 从1到n的连续自然数相乘的积、叫做阶乘、用符号n! 表示。 如5! =1×2×3×4×5,规定0! =1。 我们用递归算法可以较容易求n的阶乘。 求n的阶乘算法可以描述如下: n! =n*(n-1)! (n-1)! =(n-1)*(n-2)! (n-2)! =(n-2)*(n-3)! 2! =2*1! 1! =0! 0! =1 如果把n! 写成函数形式,即f(n),f(n)=n*f(n-1)。 如f(5)就是表示5! ,求5! 的过程可以写成如下形式: f(5)=5*f(4)f(4)=4*f(3)f(3)=3*f (2)f (2)=2*f (1)f (1)=1 (问题求解)在python中用递归算法求1! +2! +……+n! (n的值为整数,从键盘输入)。 请阅读如下程序,在空白处填写适当的表达式或语句,使程序完整。 deff(n): ifn==0: return1 else: return_________ s=0 n=int(input("请输入n: ")) foriin_______: s=________ print(s) 20.模拟一个简单计算器,实现如下功能: 输入两个整数和一个运算符(加、减、乘、除),进行算术运算,并输出运算结果。 程序运行时,依次输入第一个数、运算符和第二个数,输出运算结果。 当输入的运算符是加减乘除(+-*/)四种以外的符号时,则输出“运算符不正确”。 当进行除法运算时,如果除数为“0”,提示输出“除数不能为0! ”。 Python程序实现如下,在划线处填入合适的代码。 a=int(input("请输入第一个数: ")) fh=input("请输入运算符: ") b=int(input("请输入第二个数: ")) flag=True s=____ iffhins: iffh=="+": c=a+b eliffh=="-": c=a-b eliffh=="*": c=a*b else: if____ print("除数不能为0! ") flag=False else: c=a/b ifflag==True: print("运算的结果为: "+____) else: print("运算符不正确") 21.若两个素数之差为2,则该对素数称为双胞胎数,如3,5就是一对双胞胎数。 编写python程序,实现如下功能: 输入n的值,统计显示n以内的所有双胞胎数。 程序运行界面如图所示: 实现上述功能的程序如下,请在划线处填入合适的代码。 importmath defisprime(x): ______ foriinrange(2,int(math.sqrt(x))+1): ifx%i==0: f=False returnf n=int(input("请输入一个正整数n: ")) c=0 k=3 whilek<=n-2: ifisprime(k)and______________: c+=1 print("第"+str(c)+"对双胞胎数: ",k,'和',k+2) _______ print("共有"+str(c)+"对双胞胎数") 划线处①处应该填入的语句为: ; 划线处②处应该填入的语句为: ; 划线处③处应该填入的语句为: 。 22.某市普通高中选课数据如图1所示,学生从地理、化学、生物等科目中选择三门作为高考选考科目,“1”表示已选择的选考科目。 使用Python编程分析每所学校各科目选考的总人数、全市各科选考总人数及其占比,经过程序处理后,保存结果如图2 图1 图2 实现上述功能的Python程序如下: importpandasaspd importitertools #读数据到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[‘学校代码’]=‘比例’ forkinkm: 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)加框处语句的作用是__________________ 23.“枚举算法”又称为“穷举法”,其基本思想是: 一一列举出所有可能的解,并验证每个可能的解是否是真正的解,若是,就采纳,否则,就抛弃。 小明利用枚举算法解决“百元买百鸡”问题。 用100元钱买100只鸡,公鸡,母鸡,小鸡都要有。 公鸡5元1只,母鸡3元1只,小鸡1元3只。 请问公鸡,母鸡,小鸡各应该买多少只? 假设公鸡有X只,母鸡有Y只,小鸡有Z只。 以下Python程序段实现了“百元买百鸡”的功能,请补全①②③处代码。 c=0 forxin____①: foryinrange(1,33): z=100-x-y if______②: print("公鸡: ",x,"母鸡: ",y,"小鸡: ",z) _____③ print("共有买法",c,"种") 24.水仙花数是指一个三位数,它的每个位上的数字的3次方之和就等于它本身,例如: 1**3+5**3+3**3=153。 这类三位数也被叫做自恋数、自幂数或者阿姆斯特朗数。 [问题求解]设这个数存放于变量x中,变量g、s、b分别存放个位、十位、百位上的数。 需得分离数字得到每位上的数,即将变量g、s、b表示为x的形式。 请阅读如下python程序,在空白处填写适当的表达式或语句,使程序完整。 print("三位数之内的水仙花是: ") forxin___(100,1000): b=x//100 s=(x//10)___ g=___ Ifx=(b**3+s**3+g**3): print(___) 25.阅读程序。 分析以下Python程序并回答问题。 who='我的' action='是' destination='镜像世界' number='153' code='通行密码' print(who+destination+code+action+str(number)) (1)变量who的数据类型_______________。 (2)类似number的数据类型______________。 (3)print语句输出的结果是______________。 (4)str(number)的作用是_________。 (5)“+”在程序中的作用是____________。 26.阅读程序。 分析以下两段Python程序并回答问题。 #程序1 i=1 whilei<101: print('把这句话打印100遍') i+=1 #程序2 i=100 whilei: print('把这句话打印100遍') i=i-2 (1)在程序1中,i+=1这句话的含义是______________。 (2)在程序1中,‘把这句话打印100遍’实际输出了_____遍。 (3)在程序2中,i的初值是___。 (4)在程序2中,‘把这句话打印100遍’实际输出了_____遍。 (5)在程序2中,whilei的含义是_________。 27.使用Python自身提供的IDLE集成开发环境录入以下代码及调试 运行,检测结果。 #鸡兔同笼 forxinrange(1,23): y=35-x if4*x+2*y==94: print("兔子有%s只,鸡有%s只"%(x,y)) 特别提示: 代码录入完毕,调试运行,检测错误,讨论错误原因,上网查找错误格式的处置办法,直至能正确输出结果。 28.请编写Python程序,实现如下功能需求: 1)程序运行后,给出文字提示: “请输入一个正整数: ” 2)输入一个整数n按回车后,程序输出从1-n所有整数中既是3的倍数又是5的倍数的数。 3)不要超过5行代码。 程序运行举例: 29.小明用Python语言写了一个货币兑换程序如下: (1)参数currency指: ____________。 (2)该程序用了哪一种算法结构: _____________。 (3)输出结果为“50$=325.25人民币”。 则代码应该如何编写: ____________。 30.(最大公约数)用辗转相除法求两个正整数的最大公约数。 代码如下: defgcd(m,n): r= whiler! =0: m=n n= return a=int(input(‘请输入a的值: ’)) b=int(input(‘请输入b的值: ’)) print(‘最大公约数是: ') 填空: ________________________________________ 【参考答案】***试卷处理标记,请不要删除 一、程序填空 1.total<60000every_year*0.68 【详解】 本题主要考查Python程序执行与调试。 ①由题干可知,while循环条件是总销量total小于60000,故第一空填total<60000。 ②平均每年的销量比上一年增加68%,即every_year+=every_year*0.68,故第二空填every_year*0.68。 2.nrn 【详解】 本题考查的是Python循环语句。 辗转相除法: 用较大数除以较小数,再用出现的余数(第一余数)去除除数,再用出现的余数(第二余数)去除第一余数,如此反复,直到最后余数是0为止。 如果是求两个数的最大公约数,那么最后的除数就是这两个数的最大公约数。 由n=min(x,y)可知最小值为n,故①处为n,由r=m%n可知余数为r,故②处为r,最后的除数是n(即最大公约数为n),故③处为n。 3.yyshow() 【详解】 本题主要考查Python程序绘制图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- python 二级 模拟 程序 填空 阅读 试题
![提示](https://static.bdocx.com/images/bang_tan.gif)