搜索
您的当前位置:首页Python完全新手教程程序填空阅读填空程序试题

Python完全新手教程程序填空阅读填空程序试题

来源:乌哈旅游
Python完全新手教程程序填空阅读填空程序试题

一、程序填空

1.程序设计:唐三藏又被妖怪抓走了,这次孙悟空还是没打得过妖怪,于是来求观音菩萨。观音菩萨告诉孙悟空,在天庭里身高正好为1000米的那位神仙可以降伏此妖。于是悟空立刻来到天上,在玉皇大帝的神仙册上看到了按身高从矮到高排列有10000个神仙。由于时间紧迫,悟空想用最短的时间找到这位神仙,这样才可以尽快解救唐僧。 代码如下:

List=list(map(int,input(“请按身高递增顺序依次输入10000个神仙的身高”).split())) left=1 right=10000 while ① mid= ② if List[mid]==1000: ③

elif List[mid]<1000: ④ else: ⑤

print(“能帮孙悟空的神仙在第{0}位上”.format(mid+l)) (1)程序代码中①处正确的代码是(_______)。

A.left<right B.left<=right C.left!=right D.left>right (2)程序代码中②处正确的代码是(_______)。 A.(left+right)/2 B.(left+right)\\2 C.(left+right)//2 D.(left+right)\\\\2

(3)程序代码中③处正确的代码是(_______)。 A.pass B.print(mid)z C.break D.continue (4)程序代码中④处正确的代码是(_______)。-

A.left=mid B.right=mid C.left=mid+1 D.right=mid-1 (5)程序代码中⑤处正确的代码是(_______)。

A.left=mid B.right=mid C.left=mid+1 D.right=mid-1 2.请在空格处填写正确的代码,使程序完善。 实现功能:绘制y=x2-2x+ 1的图像

#加载numpy模块并限简洁的别名为np import numpy as np

#加载matplotlib.pyplot模块并限简洁的别名为plt import matplotlib.pyplot as plt #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._________

3.将下列程序代码补充完整:

某同学参加了学校体检,体检的医生告诉他体重超重,需要加强运动。该同学了解到运动时,心率如能控制在一定范围内,对增强心血管系统和呼吸系统的功能都有很好的效果;超出范围,对身体反而会有损伤。男最适宜运动心率=(220-年龄数-安静心率)×(60%~80%)+安静心率,女最适宜运动心率=(210-年龄数-安静心率)×(60%~80%)+安静心率,补充程序帮他(她)计算最适宜的运动心率。 age=float(input('请输入age=')) HRrest=float(input('请输入HRrest=')) gender=input(“请输入male or female :”) if ____________________: ____________________ else:

_____________________ low=(n-age-HRrest)*0.6+HRrest high=(n-age-HRrest)*0.8+HRrest

print('最适宜的心率是:',low,'~',high) input(“运行完毕,请按回车键退出...”) 4.阅读程序。分析下列切片相关程序并回答问题。 list2=[5,6,7,8,9] print(list2[:])

print(list2[2:]) print(list2[:2]) print(list2[1:3]) print(list2[2:4])

(1)程序第一个print的输出结果是______________。 (2)程序第二个print的输出结果是______________。 (3)程序第三个print的输出结果是______________。 (4)程序第四个print的输出结果是______________。 (5)程序第五个print的输出结果是______________。 5.阅读程序。分析有关多项式的代码并回答问题。 求1!+2!+3!+……+20!的和。 n=0 s=0 t=1

for n in range(1,21): t*=n s+=t print(s)

(1)n的作用是________________。 (2)s的作用是 ______________。

(3)t的初值必须赋值为1,这是因为_________。 (4)t*=n的等价语句是 __________ (5)s+=t的等价语句是 ______。 6.阅读程序。 for i in range(1,10): for j in range(1,i+1):

print(\"%d X %d=%2d\"%(j,i,j*i),end=\" \") print()

(1)在第一行程序中,变量i的数据范围为_____到____。 (2)在第二行的程序中,变量j的数据范围为_____到____。

(3)如果“%d”表示十进制数,那么%2d则表示____ 位宽的十进制数。

(4)第三行程序改为print(\"%d X %d=%2d\"%(i,j,i*j),end=\" \"),则本题的输出应该是_____。

(5)如果最后一行的print()表示换行,那么end=””的功能是_______ 。 7.编写程序,找到并输出100以内的素数。 8.分析完善程序 某市出租车收费标准如下:

(1)3公里内(含3公里),收费8元

(2)超过3公里但未超过6公里部分,按1.5元/公里收费 (3)超过6公里部分,按2.25元/公里收费。

根据以上标准,输入出租车行驶的公里数,请计算顾客需付费多少元? [算法分析]

假设总费用为p,则可以分段计算 p=8 ‘(s≤3)

p=1.5*(s-3)+8 ‘(36) [参考代码] a=float(input(“s=”)) if s <= 3 : p= 8 if

p=1.5*(s-3)+8 if s > 6 :

p=2.25*(s-6)+1.5*3+8 print( p)

根据上述回答如下问题:

(1)本题采用的算法是________(填:解析法/枚举法/排序法/递归法)。 (2)程序代码中空白处应填写的条件是_______(填: A/B/C/D)。 A.33 and s<6 D.s>3 Or s<=6

9.(项目情境)在中国古代,出自数学家张丘建的《算经》中这样一个值得研究的问题:今有鸡翁一,直钱五;鸡母一,直钱三;鸡雏三,直钱一。凡百钱,买鸡百只。问鸡翁、母、雏

各几何?这个问题就是著名的“百钱买百鸡问题”。即:现有100文钱,公鸡5文钱一只,母鸡3文钱一只,小鸡一文钱3只,要求:公鸡,母鸡,小鸡都要有,把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(\"公鸡:\母鸡:\小鸡:\

10.请编写一个密码登陆系统,接收用户从键盘输入的密码和你自己的密码进行比对,如果正确就显示“恭喜你进入系统”如果不正确让用户重新输入,有三次机会。 11.输入三个同学的成绩,然后大到小排列。

12.小明设计了一个可以输入日期得到当天是年度第几天的程序,请阅读程序,完成填空(闰年判断规则:能被4整除但不能被100整除或能被400整除,闰年的2月为29天) day=input(\"请输入年月日(格式举例:2000-01-05):\") year=int(day[:4]) month=_________ sun=int(day[8:10]) print(year,month,sun)

f_run=[31,28,31,30,31,30,31,31,30,31,30,31] tall_day=0 if ______:

for i in range(month-1): tall_day +=f_run[i] __________ else:

for i in range(month-1): tall_day +=f_run[i] tall_day += sun

print(day+\"是当年的第\"+str(tall_day)+\"天\") (1)将程序横线处补充完整

(2)如输入“2020-4-19”为当年的第_____天。

13.输入n,计算s=1!+2!+...+n!的未6位(不含前导0)。N<=1000000,n!表示前n个正整数之积。

14.请在空格处填写正确的代码,使程序完善。 实现功能:用辗转相除法求解两个正整数的最大公约数。 x = int(input('请输入第一个正整数:')) y = int(input('请输入第二个正整数:'))

m = max(x,y) #找出x,y中的最大值 n = min(x,y) #找出x,y中的最小值

r = m%n #求得最大值除以最小值后的余数 while r!=0: #如果余数不等0,则进行以下循环 m =________ #把最小值赋给m n =_________ #把余数赋给n

r = m%n #求得最大值除以最小值后的余数 print('这两个数的最大公约数为:',______) input(\"运行完毕,请按任意键退出....\")

15.操作说明:编写一个程序实现以下功能,将程序以“Y:/3/3.py”作为文件名保存。 题目:设计100以内的数中能同时被3或5整除的个数。

16.编写程序。如图所示的算法,请用Python程序写出实现该算法相应的代码。

17.(最大公约数)用辗转相除法求两个正整数的最大公约数。 代码如下: def gcd (m,n): r= while r!=0: m=n n=

return

a=int(input(‘请输入a的值:’)) b=int(input(‘请输入b的值:’)) print(‘最大公约数是:' ) 填空:

________ ________ ________ ________ ________ 18.现有字典如下,根据题目要求,写出相关的表达式:

xingzuo = { ‘小明’:‘巨蟹座’,‘小红’:‘处女座’,‘小兰’:‘金牛座’} (1)现要取出小红所对应的星座,写出相关表达式:

___________________________________________________________ (2)现发现,“小兰”同学的星座应该是“水瓶座”,请帮忙修改。 __________________________________________________________

(3)现发现,在字典中漏写了关于“小贝”的信息,现已知“小贝”为“双子座”,请帮忙添加。

_________________________________________________________ (4)写出删除该字典的表达式:

___________________________________________________________

19.某品牌手机第一年销量为20000台,假设平均每年的销量比上一年增加68%,请问几年后能使总销量达到60000台。下面的程序能实现上述的功能,请将缺失的代码补充完整。

total= every_year=20000 year=1

while __________________ : every_year + = ____________ total + = every_year year + = 1 print(year)

20.学校开展“奇妙的数字”研究性学习活动。张轩小组4人决定把课题定为《探秘水仙花数》。

(1)张轩使用百度搜索引擎搜索到“水仙花数”是这样定义的: “水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153 = 13+53+33,那么这个数就是一个“水仙花数”。百度属于____搜索引擎(全文,分类)

(2)为了求解100--999这些数字中,哪些数字是“水仙花数”?张轩小组进行了算法设计,并使用python编写了一段程序来求解所有的“水仙花数”,程序和运行结果下图:

k是可以重新赋值的,k是变量还是常量?____程序中①处有空缺,请补充完整①处的代码。____程序中逐一验证了100到999之间所有的三位数是否符合“水仙花数”的定义条件,这种算法叫做______(解析法,枚举法,递归法,二分法)。

(3)在研究成果展示环节, 张轩小组可以使用什么软件制作《探秘水仙花数》的研究成果报告? (_____)

21.模拟一个简单计算器,实现如下功能:输入两个整数和一个运算符(加、减、乘、除),进行算术运算,并输出运算结果。程序运行时,依次输入第一个数、运算符和第二个数,输出运算结果。当输入的运算符是加减乘除(+-*/)四种以外的符号时,则输出“运算符不正确”。当进行除法运算时,如果除数为“0”,提示输出“除数不能为0!”。Python程序实现如下,在划线处填入合适的代码。 a=int(input(\"请输入第一个数: \")) fh=input (\"请输入运算符: \") b=int(input(\"请输入第二个数: \")) flag=True s= ____ if fh in s: if fh==\"+\": c=a+b elif fh==\"-\": c=a-b elif fh==\"*\": c=a*b else: if ____

print(\"除数不能为0! \") flag=False else: c=a/b if flag==True:

print(\"运算的结果为: \"+____) else:

print (\"运算符不正确\")

22.某企业开展“运动打卡 动动有奖”活动:若员工在本月累计运动时间30小时以下,奖励0元;达到30但不足45小时奖励300元;达到45但不足60小时奖励450元;60小时及以上奖励500元。小强用python编写程序实现相关功能:输入某员工本月累计运动时间(时),输出其能获得的奖励金额。

(1)实现上述功能的程序如下,请在划线处填入合适的代码。 t=int(input(“请输入您本月累计运动时间(时):”)) if t<0:

print(“输入错误”) else: if t<30: ①_ elif t<45: m=300 ②_____ m=450 else: m=500

print(“您的奖励是:”,m)

(2)当输入“-1”时,输出信息为_________(选填,填字母:A.输入错误 / B.您的奖励是:0 / C.您的奖励是:500)

23.小金同学学完了进制转换后,对课后的不同进制的加减法很是头疼,爱动脑筋的小金突发奇想,能不能用python程序来完成这些作业呢?请帮小金完成代码编程. def convert(s): m=0 le=len(s) key=s[le-1] if key==\"B\": n=2 elif key==\"D\": _______ else: n=16 i=0 while i<=le-2: c=s[le-1-i] if c>=\"0\"and c<=\"9\": a=ord(c)-ord(\"0\") elif c>=\"A\"and c<=\"F\": a=ord(c)-ord(\"A\")+10 _____________

i+=1 return m

s=input(\"请输入算式\")

result=0;suanfu1=\"\";suanfu2=\"\";s1=\"\" for i in range(len(s)): c=s[i]

if c==\"+\" or c==\"-\" or c==\"=\": __________ suanfu1=suanfu2 suanfu2=c if suanfu1==\"\": result=t if suanfu1==\"+\": result=result+t if suanfu1==\"-\": result=result-t s1=\"\" else: s1=s1+c

print(\"计算结果为\"+str(result)+\"D\") (1)将程序横线处补充完整

(2)如输入“1110B+10D-30H=”则输出结果为___________。

24.某市普通高中选课数据如图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)加框处语句的作用是__________________

25.(项目情境)水仙花数是指一个三位数,它的每个位上的数字的3次方之和就等于它本身,例如:1**3+5**3+3**3 = 153。这类三位数也被叫做自恋数、自幂数或者阿姆斯特朗数。

(问题求解)设这个数存放于变量x中,变量g、s、b分别存放个位、十位、百位上的数。需得分离数字得到每位上的数,即将变量g、s、b表示为x的形式。请阅读如下python程序,在空白处填写适当的表达式或语句,使程序完整。print (\"三位数之内的水仙花是:\") for x in _____ : b=x//100 s=_____ g=_____

if x==(b**3 + s**3 + g**3): _____

26.小强想要快速了解“十四五规划”内容的关键词,他先把“十四五规划”内容存储在ssw.txt文档中,如图a所示,统计文档中出现次数最多的前十个关键词,结果如图b所示。文本数据处理的算法设计如图c所示,用Python语言编写的程序段如图d所示。 请根据流程图的每个步骤,填写程序段编号,如A:⑦B:①D:③。现填写C、E、F、G对应的程序段编号.C:__________E:__________F:__________G:__________ 图a

图b

图c

图d

27.编写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

for i in range( ② ): sum+=mon[i] sum+=day if

isleap=True else: isleap=False if ③ sum+=1

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

28.某仓库物品代码格式为“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(\"错误\")

29.小明用Python语言写了一个货币兑换程序如下:

(1)参数currency指:____________。

(2)该程序用了哪一种算法结构:_____________。

(3)输出结果为“50$= 325.25人民币”。则代码应该如何编写:____________。 30.操作说明:打开文件“Y:/2/2.py”,在代码窗口指定位置<1>、<2>处修改完善程序代码,不得增加、删除语句或改变程序原有结构,操作结束后保存。

以下程序段的功能是:输入一个正整数n(1至100),输出它的约数的个数。 s=0

n=int(input(“请输入一个正整数:”)) if n<1 or n>100:

exit #输入的数不符合要求,退出 for i in range(1,n+1): if n//i=0:___<1> s=s+i <2>

print(“约数的个数是:”,s)

【参考答案】***试卷处理标记,请不要删除

一、程序填空

1.B C C C D 【详解】

本题主要考查二分查找算法及Python程序实现。①二分查找的循环条件是left<=right,故选B选项。②此处是取中间值,需要整除2,故填(left+right)//2 ,故选C选项。③如果mid对应的列表值是1000,表示已找到,则用break跳出循环,选C选项。④如果mid对应的列表值小于1000,则需要更新left的值为mid+1继续循环,选C选项。⑤否则更新right的值为mid-1,选D选项。 2.y y show( ) 【详解】

本题主要考查Python程序绘制图像。 ①绘制y=x2-2x+ 1的图像,故此处填y。 ②根据横纵坐标x和y绘制图,故此处填y。 ③此处调用显示函数show( ),故填show()。 3.gender==’male’ n=220 n=210 【详解】

本题主要考查Python程序的调试与执行。男最适宜运动心率=(220-年龄数-安静心率)×(60%~80%)+安静心率,女最适宜运动心率=(210-年龄数-安静心率)×(60%~80%)+安静心率。①故此处判断如果性别是男性,n=220,如果是女性,则n=210,故填gender==’male’。②if条件满足时,n=220。③if条件不满足,即else部分,n=210。

4.[5,6,7,8,9] [7,8,9] [5,6] [6,7] [7,8] 【详解】

本题主要考查Python列表截取。Python列表的正向索引下标是从零开始,不是1;当只有冒号,表示全部元素;只有头下标i和冒号(代表的是从该头下标i的元素开始截取,一直到最后);只有冒号尾下标i(代表的是从开始一直截取到i-1的元素);头下标i,冒号和尾下标j都有(代表的是从i一直截取到j-1的元素),因此①[5,6,7,8,9]②[7,8,9]③[5,6]④[6,7]⑤[7,8]。 【点睛】

5.计算每一项的阶乘 记录阶乘相加后的和 t记录的是每一项阶乘的结果,t*=n即t=t*n,t初值为1,能计算出每项的阶乘结果,若为0,则每项的阶乘结果都是0,不符合题意。 t=t*n s=s+t 【详解】

本题考查的是python语言编程。本题考查的是1-20阶乘的求和。本题的重点是要先计算出对应的每一项阶乘的结果t,然后20项阶乘的结果记录在s中。在此过程中既要考虑到累乘求阶乘结果,又要考虑到累加求所有阶乘的和。初值n=0,在1-21的循环过程中,记

录每一项的阶乘,s=0记录阶乘累加的和,t=1记录每一项阶乘的结果。每求一次阶乘就要进行一次求和,故语句t*=n,s+=t均在“for n in range(1,21):”的循环体内。

6.9 1 i 2 末尾不换行,添加

空格 【详解】

本题主要考查Python程序的执行与调试。(1)在第一行程序中(for i in range(1,10):),变量i的数据范围为1到9。(2)同理,在第二行的程序中(for j in range(1,i+1):),变量j的数据范围为1到i。(3)如果“%d”表示十进制数,那么%nd则表示n位宽的十进制数,%2d则表示2位宽的十进制数。(4)第三行程序改为print(\"%d X %d=%2d\"%(i,j,i*j),end=\" \"),则本题的输出应该是

,i与j的位置进行了交

换,如1X2=2变为2X1=2。(5)如果最后一行的print()表示换行,那么end=””的功能是末尾不换行,添加空格。 7.参考答案1: for i in range(2,101): j=2 while j<=i: if i%j==0: break j+=1 if jelse:

print(i,end=\" \") 参考答:2:

for i in range(2,101): for j in range(2,i): if(i%j==0): break else: print(i) 【详解】

本题考查是Python语言编程解决问题。break 语句可以立即终止当前循环的执行,跳出当前所在的循环结构。无论是 while 循环还是 for 循环,只要执行 break 语句,就会直接结束当前正在执行的循环体。这就好比在操场上跑步,原计划跑 10 圈,可是当跑到第 2 圈的时候,突然想起有急事要办,于是果断停止跑步并离开操场,这就相当于使用了 break 语句提前终止了循环。答案中代码的实现过程见下图: 参考答案1:

参考答案2:

8.解析法或解析 A 【详解】

本题主要考查Python程序的执行与调试。①由算法分析可知,本题采用的算法是解析法或解析。②3公里内(含3公里),收费8元;超过3公里但未超过6公里部分,按1.5元/公里收费;超过6公里部分,按2.25元/公里收费,故此处填3本题考查的是算法中的经典问题。百鸡百钱问题是典型的枚举算法解决,枚举算法的关键就是找到问题解决的条件和枚举范围。

10.pw=input(\"请输入密码:\") password=\"123456\" i=1 while(i<=3): if pw==password: print(\"恭喜你进入系统!\") break else:

print(\"请重新尝试:\ pw = input(\"请输入密码:\") i=i+1 【详解】

本题主要考查程序设计。可以通过Python程序设计语言实现题干要求,可以通过while循环控制三次机会,使用if条件分支结构判断是否输入正确,具体代码如下: pw=input(\"请输入密码:\") password=\"123456\" i=1 while(i<=3):

if pw==password: print(\"恭喜你进入系统!\") break else:

print(\"请重新尝试:\ pw = input(\"请输入密码:\") i=i+1

11.

【详解】

本题主要考查程序设计与实现。可以使用Python程序实现题干要求:

12.int(day[5:7]) (year%4==0 and year%100!=0 or year%400==0) and month>=2 tall_day+=1 110 【详解】

本题主要考查Python程序的执行与调试。①此处是取出字符串day中的月份赋给变量month,month是第5~第6位,str[start:end],start会包含在结果中而end却不会,故此处填int(day[5:7])。②此处判断是不是闰年,因为闰年的二月有29天,故if判断还要判断当前的月份是不是包含2月即大于等于2月,故此处填(year%4==0 and year%100!=0 or year%400==0) and month>=2。③如果是闰年且当前日期包括2月,则循环完tall_day需增加1天,故填tall_day+=1。④输入“2020-4-19”为当年的第110天。

13.s=0

n=eval(input(\" 请输入一个数:\")) for i in range(0,n): f=1

for j in range(1,i): f=f*j s+=f

print(s%1000000) 【详解】

本题主要考查Python程序设计。可以通过嵌套for循环实现题干要求,外层循环进行求和,内层循环实现阶乘,具体代码如下: s=0

n=eval(input(\" 请输入一个数:\")) for i in range(0,n): f=1

for j in range(1,i): f=f*j s+=f

print(s%1000000) 14.n r n 【详解】

本题考查的是Python循环语句。辗转相除法:用较大数除以较小数,再用出现的余数(第

一余数)去除除数,再用出现的余数(第二余数)去除第一余数,如此反复,直到最后余数是0为止。如果是求两个数的最大公约数,那么最后的除数就是这两个数的最大公约数。 由n = min(x,y) 可知最小值为n,故①处为n,由r = m%n 可知余数为r,故②处为r,最后的除数是n(即最大公约数为n),故③处为n。 15.c=0

print(\"能同时被3或5整除的数是:\ for i in range(1,101): if i%3==0 and i%5==0: c+=1 print(i,end=\" \") print(\"\")

print(\"能同时被3或5整除的个数是:\"+str(c)) 【详解】

本题主要考查Python程序设计。设计100以内的数中能同时被3或5整除的个数,使用for循环变量i的范围是从1~99,用变量c统计能同时被3或5整除的个数,如果满足if判断条件,则变量c递增,循环完输出c的值,具体代码及运行结果如下:

16.a=float(input(\"请输入一个数\")) b=float(input(\"请输入一个数\")) c=float(input(\"请输入一个数\")) if c>a and c>b:

print(\"最大数为:\ elif b>a:

print(\"最大数数\ else:

print(\"最大小数为\

【详解】

本题主要考查算法描述及Python程序设计。分析算法流程图,首先输入a、b、c三个数,进行两两比较,输出最大数,故Python程序设计如下: a=float(input(\"请输入一个数\")) b=float(input(\"请输入一个数\")) c=float(input(\"请输入一个数\")) if c>a and c>b:

print(\"最大数为:\ elif b>a:

print(\"最大数数\ else:

print(\"最大小数为\

17.m%n r r=m%n n gcd(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)。 18.xingzuo[“小红”] xingzuo[“小兰”]=“水瓶座” xingzuo[“小贝”]=“双子座” del xingzuo 【详解】

本题主要考查字典数据类型。①字典数据类型,可以通过检索字典的键值得到对应的值,即xingzuo[“小红”]=‘处女座’,故第一空填xingzuo[“小红”]。②将“小兰”同学的星座修改为“水瓶座”,可以通过语句xingzuo[“小兰”]=“水瓶座”。③同理添加小贝的信息为,xingzuo[“小贝”]=“双子座”。④删除该字典的表达式是del xingzuo。 19.total<60000 every_year*0.68 【详解】

本题主要考查Python程序执行与调试。①由题干可知,while循环条件是总销量total小于60000,故第一空填total<60000。②平均每年的销量比上一年增加68%,即every_year + =every_year*0.68,故第二空填every_year*0.68。 20.全文 变量 k+1 枚举法 Word/WPS/PowerPoint等 【详解】

本题主要考查Python程序的执行与调试。①百度属于全文搜索引擎,也是关键词搜索。②变量可以反复赋值,故k是变量。③循环体执行完,k递增,继续找水仙花数,故此处填k+1。④逐一验证了100到999之间所有的三位数是否符合,这种算法叫做枚举法。⑤

在研究成果展示环节, 张轩小组可以使用Word/WPS/PowerPoint等软件制作《探秘水仙花数》的研究成果报告。 21.\"+-*/\" b==0 str(c) 【详解】

本题主要考查Python程序执行与调试。①变量fh用来接收运算符,由代码“if fh in s”可知,变量s保存加减乘除(+-*/)四种运算符,故此处填\"+-*/\"。②变量b保存第二个数,当进行除法运算时,如果除数为“0”,提示输出“除数不能为0!”,此处是处理b=0的情况,故填b==0。③变量c保存运算结果,此处输出 c的结果,故填str(c)。 22.m=0 elift<60: A 【详解】

本题主要考查Python程序的执行与调试。①若员工在本月累计运动时间30小时以下,奖励0元,即m=0。②达到45但不足60小时奖励450元,故填elift<60:。③-1<0,不是有效值,故输出信息为“输入错误”,故本题选A选项。 23.n=10 m=m+(n**(le-2-i))*a t=convert(s1) -24D 【详解】

本题主要考查Python程序的执行与调试。①二进制的权值是2,十进制的权值是10,十六进制的权值是16,此处是十进制的情况,故填n=10。②二进制、十六进制转化为十进制的方法是“按权展开、逐项相加”,从右往左加,变量i的初值等于0,故此处要变换为le-2-i,故此处填m=m+(n**(le-2-i))*a。③当字符c是“+”、“-”、“=”时,则表明第一个运算数已全部保存到变量s1中,此处需要将其转化为十进制保存到变量t中,故填t=convert(s1)。④1110B转化为十进制数是14D,30H转化为十进制数是48D,故1110B+10D-30H=-24D。

24.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中。

25.range(100,1000) x//10%10 x%10 print (\"三位数之内的水仙花是:\"+str(x)) 【详解】

本题主要考查Python程序的执行与调试。①水仙花数是指一个三位数,即[100,999],for x in range(100,1000)表示x的范围是100-999,故此处填range(100,1000)。②变量g、s、b分别存放个位、十位、百位上的数,故s=x//10%10(“//”表示整除,“%”表示取余)。③g=x%10。④如果满足 x==(b**3 + s**3 + g**3),则输出“三位数之内的水仙花是:x”,故此处填print (\"三位数之内的水仙花是:\"+str(x))。 26.② ⑤ ⑥ ④ 【详解】

本题主要考查算法及Python程序实现。①jieba 模块是一个用于中文分词的模块,lcut 方法

直接返回 list,流程图中分词后存入words中对应的代码是words=jieba.lcut(txt),故填②。②流程图中循环结构对应的是程序中的⑤。③对counts的值进行排序,可以使用sort方法实现,对应程序中的⑥。④使用循环结构将值一一输出,对应程序中的④。

27.day=int(s[8:])或day=int(s[-2:]) 0,month-1 isleap and month>2 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开始,此处是将输入日期中的天取出来放到变量day中,可以使用切片操作:从左边开始截取,也可以从右边截取,故此处填day=int(s[8:])或day=int(s[-2:])。③通过循环将前month-1个月的天数加起来,故变量i的范围是0到month-1,故填0,month-1。④变量isleap标记是不是闰年,如果isleap值为真且month>2,则sum需要递增1,故填isleap and month>2。⑤由题干闰年判断条件,可知加框处应改为year%4==0 and year%100!=0 or year%400==0。

28.\"0\"<=s[i]<=\"9\" 或s[i] in \"0123456789” sum=sum+a[i]*(i+1) ydm=a[9] 【详解】

本题主要考查Python程序执行与调试。①变量s保存商品仓库物品代码,若s[i]是数字则进入循环判断,否则跳过,故此处判断条件是\"0\"<=s[i]<=\"9\" 或s[i] in \"0123456789”。②校验码由前面9个X计算得到,计算方法为:从左边开始,第1个数字乘以1加上第2个数字乘以2……依次类推,直到加上第9个数字乘以9,用变量sum统计,故此处填sum=sum+a[i]*(i+1)。③变量sdm是计算得到的校验码,变量ydm是输入的校验码,此处需要将校验码a[9]赋给变量ydm,故填ydm=a[9]。

29.形参 分支结构(选择结构) if条件中的return语句改为return print(money,\"$=\人民币\"),其他elif语句类似 【详解】

本题主要考查Python程序执行与调试。①分析代码可知,参数currency指:形参。②由代码可知,该程序用了条件分支结构。③若输出结果是50$= 325.25人民币,则需将if条件中的return语句改为return print(money,\"$=\人民币\"),其他elif语句类似。

30.<1>n%i==0 <2>s=s+1 【详解】

本题主要考查Python程序的执行。<1>变量i的取值范围是1~n,如果n能整除i,则i为n的一个约数,s统计约数的个数,故此处应修改为n%i==0。<2>如果n能整除i,则s递增,故此处应改为s=s+1。

因篇幅问题不能全部显示,请点此查看更多更全内容

Top