Python入门教程程序填空阅读填空程序试题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Python入门教程程序填空阅读填空程序试题
一、程序填空
1.“百鸡百钱”问题是一个有名的数学问题,出自《张丘建算经》。

其内容是:公鸡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文
for cock_num in range(1,money//cock_price+1): #公鸡只数可能为1-20 for hen_num in range(1,①________): #母鸡只数可能为1-33
for chick_num in range(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
if money1==money and num1==num:
print (cock_num,hen_num,③________) #(③小鸡数)input("运行完毕,请按回车键退出...")
2.请在空格处填写正确的代码,使程序完善。

实现功能:用辗转相除法求解两个正整数的最大公约数。

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("运行完毕,请按任意键退出....")
3.冠军在A、B、C、D四位同学中。

A说:“不是我”,B说:“是C”,C说:“是D”, D说:“C说的不对”,已知四人中有一人说了假话。

判断出到底谁是冠军。

请在空格处填写正确的代码,使程序完善。

champion=['A','B','C','D'] #设置选手列表
for i in__________: #循环读取选手编号
cond=(i!='A') +(i=='C') + (i=='D')+(i!='D') #查找符合条件的选手
if cond== _____: #说真话是否是3人
print("冠军是:",_________) #输出冠军
input("运行完毕,请按回车键退出...")
4.程序补充:
(1)有5万元资金存入银行,选择“1年定期.自动转存”的存款方式,由于银行利率是不断变化的,这5年利率分别是3.25%.3%.3%.2%.1.75%,5年后会有多少收益呢?调用round ()函数,保留结果两位小数。

money =_______________________________
rate=_________________________________
for___________________________________
____________________________________
print(“5年以后存款总额:”,money,“元”)
(2)某投资者购买了10万元一年期收益率3.7%的银行保证收益型理财产品。

每年理财赎回后,他会提取2万元用作生活所需,余下资金仍购买此种理财。

在收益率不变的情况下,多少年后本金被全部取出?
money= ________________________________
year= __________________________________
while _________________________________
_________________________________
________________________________
print(year,“年后资金被全部取出”)
5.程序编写
求1+22+32+……+1002的结果
_______________________________
_______________________________
_______________________________
_______________________________
input(“运行完毕,请按回车键退出...”)
6.阅读程序。

分析有关多项式的代码并回答问题。

求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的等价语句是 ______。

7.完善程序。

以下是猜数游戏的程序,请在画线出填写正确的内容。

import random
secret=random.randint(0,10)
print(“---猜数游戏 -----”)
cs=int(input(“你猜的数字是”))
while cs!=secret:
_______cs>secret:
_________ (“唉,猜大啦!”)
__________:
print(“嘿嘿,猜小了!”)
cs= int(input(“重新猜一个靠谱的数字是:”))
print(“游戏结束,不玩了!”)
8.完善程序。

以下是计算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)
9.编写程序,找到并输出100以内的素数。

10.计算机解决问题的过程为“分析问题——设计算法(流程图)——编写程序——调试程序”,
请输入以下代码,自己输入数据运行,结果截图提交
11.编写程序,找到并输出100以内的偶数个数。

12.编写程序,实现从键盘输入数据,数据前三位的ASCII值加2,从第四位开始ASCII值加3。

13.输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

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文
for cock_num in range(1,_______): #公鸡只数可能为1-20
for hen_num in range(1,_________): #母鸡只数可能为1-33
for chick_num in range(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
if money1==money and num1==num:
print (cock_num,hen_num,__________)
input("运行完毕,请按回车键退出...")
(2)运行程序,运行结果如图所示。

15.程序设计:在舞会上,男生、女生各自排成一队。

舞会开始时,依次从男队和女队的队头各出一人配成舞伴。

跳完后的两人重新回到队尾。

例如:boy=['Alex','Steven','Jack'],girl=['Ada*,'Babs'.,'Danla','Jane']
输出:
Turn1:(Alex,Ada)
Turn2:(Steven,Babs)
Turn3:(Jack,Danla)
Turn4:(Alex,jane)
……
Turn12:(Jack,jane)
代码如下:
boy=['Alex','Steven',‘Ja ck']
girl=['Ada','Babs','Danla','Jane']
for i in range(12):
x,y=① #出队
print(“Turn{:2}):({},{})".format(i+1,x,y))
boy.append( ② ) #再进队
girl.append( ③ ) #再进队
(1)程序代码中①处正确的代码是(_______)。

A.boy.pop(l).girl.pop(l) B.girl.pop(l),boy.pop(l)
C.boy.pop(0),girl.pop(0) D.girl.pop(0),boy.pop(0)
(2)程序代码中②处正确的代码是(_______)。

A.x B.y C.i D.i+1
(3)程序代码中③处正确的代码是(_______)。

A.x B.y C.i D.i+1
16.学校气象小组使用自动测温仪在校园测量了1月12日的气温,并利用Python绘制了这天的气温图,该图如下所示:
(1)在以上Python程序中,变量Y的数据类型是_________。

(2)在以上Python程序中,第8行横线处的代码是_________。

(3)通过观察,气温釆样间隔时间是_________个小时。

17.已知圆柱体的底面半径为r,高为h,(均为正整数),小张编写了一个程序计算圆柱体的地面周长和面积,圆柱体侧面积以及圆柱体体积,其中圆周率定义为:3.14,请根据下列代码回答问题:
r=int(input(“请输入半径r:”))
h=int(input(“请输入高h:”))
_________________________
c=2*pi*r
s=pi*r**2
S=c*h
V=s*h
print(c,s,S,V)
(1)解决问题的程序用到的控制结构有:__________________(填:顺序结构、分支结构、循环结构)
(2)请将程序补充完整。

(3)请找出程序中的错误代码,并改正。

____________________________________________
18.某品牌手机第一年销量为20000台,假设平均每年的销量比上一年增加68%,请问几年后能使总销量达到60000台。

下面的程序能实现上述的功能,请将缺失的代码补充完整。

total= every_year=20000
year=1
while __________________ :
every_year + = ____________
total + = every_year
year + = 1
print(year)
19.某种数据加密方法描述如下(加密前数据是ASCII字符):
●以8个数据为一段,将n个待加密数据依次分割成若干个数据段,剩余数据(个数小于
8)为独立数据段。

●数据加密规则:数据个数等于8的数据段,对各个字符进行位置变换;数据个数小于8
的数据段,不进行位置变换。

位置变换:用位置变换密钥数组c,将数据段每个字符进行位置变换,方法如下:
加密后某数据段的第i个元素=对应原数据段的第c(i)个元素,其中i=1,2, (8)
数值变换:位置变换后,依次取出各个字符进行数值变换:把该字符的ASCII码转二进
制,然后与密钥m对应的二进制数(m为1到255之间的整数)按位异或运算。

异或运算(⊕)规则:如果a、b两个值不相同,则a⊕b结果为1;如果a、b两个值相同,则
a⊕b结果为0,即:0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0。

●把上述处理的得到二进制数依次拼接,即构成最后的加密数据例如,待加密数据为
“python3.50”,数组c各元素的值依次是
数组c36152847则数据位置变换如下:
如值变换密钥m为35(二进制表示是00100011),则字符“t”(ASCII码值是116,二进
制表示是010100)的数值变换过程如下:
变换前01110100密钥m00100011变换后01010111
制数据)。

(2)小李根据上述算法,设计了一个数据加密程序,其VB代码如下,请在划线处填入合
适的代码。

Const n = 1024
Dim c(1 To 8) As Integer
Private Sub Form _ Load()
‘产生位置变换密钥数组c,代码略
End Sub
Function convert(c As Integer)As String
‘程序功能:把整数c转成8位二进制数,代码略
End Function
Private Sub Command1_Click()
Dim s As String,st As String,ss As String,res As String
Dim i As Integer,j As Integer start As Integer
Dim a(1 To n) As String,b(1 To n) As String
s = Text1. Text
st = convert(Val(Text2. Text))
For i = 1 To Len(s)
a(i) = Mid(s,i,1)
Next i
i = 1:start = -8
Do While①________
If i Mod 8 = 1 Then start = start + 8
b(i)=②_______
i = i + 1
Loop
For j = i To Len(s)
b(j) = a(j)
Next j
For i = 1 To Len(s)
③________
For j = 1 To 8
If Mid(ss,j,1)= Mid(st,j,1)Then
res = res + "0" Else res = res + "1"
'按位异或
Next j
Next i
Text3. Text = res
End Sub
20.小强开展网上直播售货,为此购买了以下直播硬件设备:①手机②耳机③自拍杆④数码照相机⑤背景画⑥无线路由器
请回答下列问题:
(1)在购买的直播硬件设备中,属于模数转换的设备是__________(多选,填序号)(2)小强选择借助某著名直播平台售货,根据直播平台要求,直播画面是1080*1920像素、24位真彩色、帧频为25fps,视频压缩比为100:1,在不考虑视频传输优化的情况下,问小强家目前10Mbps的宽带__________(选填:能/不能)满足直播要求。

请列式证明__________。

(3)小强将某一天的售货情况从平台导出,保存为文件shqk.xlsx.数据已按“流水号”升序排序,如图a所示。

流水号为2019030602的售货记录中,已成交的商品类别数是
__________(填写数字),该流水号的总利润是__________元(填写数字,保留1位小
数)
图a
(4)为了快速了解各类别商品的利润,小强用python编程处理。

处理的结果界面如图b 所示。

部分代码如下,请在①②划线处填写合适的代码。

图b
import pandas as pd
import numpy as np
import matplotlib. pyplot as plt
detail=pD.read_excel (___)
print(detail)
for i in range(len(detail[:])):
if detail[‘成交与否’][i]==1:
detail[‘lirun’]=___
dg=detai1[[‘类别’, ‘lirun’]]. groupby(by=‘类别’)
print(“总利润”,detail[‘lirun’].sum())
’数据可视化代码略
21.某企业开展“运动打卡动动有奖”活动:若员工在本月累计运动时间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)
22.小金同学学完了进制转换后,对课后的不同进制的加减法很是头疼,爱动脑筋的小金突发奇想,能不能用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=”则输出结果为___________。

23.某市普通高中选课数据如图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)加框处语句的作用是__________________
24.水仙花数是指一个三位数,它的每个位上的数字的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(___)
25.若两个素数之差为2,则该对素数称为双胞胎数,如3,5就是一对双胞胎数。

编写python程序,实现如下功能:输入n的值,统计显示n以内的所有双胞胎数。

程序运行界面如图所示:
实现上述功能的程序如下,请在划线处填入合适的代码。

def isprime(x):
for i in range(2,x):
if①__________:
return False
return True
n=int(input(“请输入一个正整数n:”))
c=0
k=3
while k<=n-2:
if isprime(k) and②___________:
print(k,k+2)
③___________
k=k+1
print(“共有”+str(c)+“对双胞胎数”)
26.(项目情境)水仙花数是指一个三位数,它的每个位上的数字的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):
_____
27.设计完成算法之后,小C打算用所学的Python程序设计语言完成程序的编写。

(1)Python程序设计语言属于程序设计语言中的_______________。

A.机器语言 B.汇编语言 C.高级语言 D.翻译程序
(2)小C将设计好的算法转为Python程序语言(如下)。

其中“Tot2=8”是一个
___________,“#初始化时长费为0”是一个__________,“S<=3.3”是一个
___________,“float(input(“请输入时长”))”是一个__________。

A.函数 B.表达式 C.赋值语句 D.注释语句
错的原因是:
_______________________________________________________________________________ _____________。

9else:
10
—→11 Cost=Tot1+tot2
12
NameError:name’tot2’is not defined
(4)经过修改之后,小C对照某次滴滴打车的订单,将对应的公里数和时长输入程序,运行得到的结果与实际支付的费用一致,小C会心一笑验证得知程序正确无误。

小C借助于计算机编写程序解决问题的这个过程是:①设计算法②编写程序③分析问题④调试运行程序,合理的顺序是_________。

(填写序号即可)
(5)总结用计算机解决问题的优势主要有:
_______________________________________________。

28.编写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)+''天'')
29.使用Python自身提供的IDLE集成开发环境录入以下代码及调试
运行,检测结果。

# 鸡兔同笼
for x in range(1,23):
y=35-x
if 4*x+2*y==94:
print("兔子有%s只,鸡有%s只"%(x,y))
特别提示:代码录入完毕,调试运行,检测错误,讨论错误原因,上网查找错误格式的处置办法,直至能正确输出结果。

30.程序设计:键盘输入任意的正整数,程序输出与其相应的二进制数。

代码如下:
n=int(input("请输入一个十进制数:"))
result=[]
while n>0:
result.append( ① )
n=②
result.reverse()
for i in result:
print(i,end=”)
(1)程序代码中①处正确的代码是(_______)。

A.n%2 B.n/2 C.n//2 D.n*2
(2)程序代码中②处可能的代码是(_______)。

A.n%2 B.n/2 C.n//2 D.n*2
【参考答案】***试卷处理标记,请不要删除
一、程序填空
1.34或 money//hen_price+1101 或 money//threechick_price+1chick_num*3
【详解】
本题主要考查Python程序执行与调试。

①母鸡只数可能为1-33,对比最外层循环范围,第一空填34或 money//hen_price+1。

②小鸡只数可能为1-100,同理第二空填101 或money//threechick_price+1。

③公鸡5文钱1只,母鸡3文钱1只,小鸡3只1文钱,故第三空填chick_num*3。

2.n r n
【详解】
本题考查的是Python循环语句。

辗转相除法:用较大数除以较小数,再用出现的余数(第一余数)去除除数,再用出现的余数(第二余数)去除第一余数,如此反复,直到最后余数是0为止。

如果是求两个数的最大公约数,那么最后的除数就是这两个数的最大公约
数。

由n = min(x,y) 可知最小值为n,故①处为n,由r = m%n 可知余数为r,故②处为r,最后的除数是n(即最大公约数为n),故③处为n。

3.champion3i
【详解】
本题主要考查Python程序的执行。

①champion是选手编号列表,此处是循环读取选手编号,使用for i in champion,故此处填champion。

②四人中有一人说了假话,即3个人说真话,即当cond=3时,则表示找到了谁是冠军,故此处填3。

③当cond是3时,i即为冠军,故此处填i。

4.[0.0325,0.03,0.03,0.02,0.0175] i in rate:(没有冒号算错误) money=round (money*(1+i),2) 100000 0 money>0 或 money>=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,故填money>0 或 money>=0。

⑧收益率3.7%,每年理财赎回后,会提取2万元用作生活所需,余下资金仍购买此种理财,使用round函数保留2位小数,故填money=round(money*1.037-20000,2)。

⑨循环变量是year,此处year递增进入下一轮循环,故填year=year+1。

5.total=0 #变量可任选(符合规则) for i in range(1,101): total=total+i*i
#total=total+i**2 print(total)
【详解】
本题主要考查Python程序的编写。

①变量total用来统计最终的计算结果,其初始值为0,故填total=0 #变量可任选(符合规则)。

②求1+22+32+……+1002的结果,用for循环结构,变量i的范围是从1到100,故填for i in range(1,101):。

③计算语句是
total=total+i*i #total=total+i**2。

④最后用print()函数输出计算结果total,故填print (total)。

6.计算每一项的阶乘记录阶乘相加后的和 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):”的循环体内。

7.if print else
【详解】
本题主要考查Python程序的执行与调试。

①secret是随机生成的数,sc是你猜的数字,此处是判断cs与secret的大小,故填if。

②如果cs大于secret,则输出“唉,猜大啦”,故填print。

③如果cs小于secret,输出“嘿嘿,猜小了!”,故填else。

8. s=s+k
k=k+5
print(s)
【详解】
本题主要考查Python程序的执行与调试。

s=0,k=1,计算S=1+6+11+…+101,循环条件是k<=101,故循环体应为s=s+k,k=k+5,循环结束后,输出计算结果,故print(s)。

9.参考答案1:
for i in range(2,101):
j=2
while j<=i:
if i%j==0:
break
j+=1
if j<i:
continue
else:
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:10.
本题主要考查Python程序的执行与调试。

运行结果如下:
11.c=0
for i in range(1,101):
if i%2==0:
c=c+1
print(c)
【详解】
本题主要考查程序设计。

题干要求可通过Python程序设计实现,通过for循环以及if判断条件可统计出100以内的偶数个数,具体代码如下:
c=0
for i in range(1,101):
if i%2==0:
c=c+1
print(c)
12.s=input("请输入要转换的字符)
c=len(s) #len 求字符串长度
for i in range(0,c):
if i<2:
print (chr(ord(s[i])+2)) # ord ord() 函数是 chr() 函数配对函数,将字符转ASCII值
else:
print(chr(ord(s[i]) + 3))
【详解】
本题主要考查程序设计。

题干要求可通过Python程序条件分支结构实现,具体代码如下:s=input("请输入要转换的字符)
c=len(s) #len 求字符串长度
for i in range(0,c):
if i<2:
print (chr(ord(s[i])+2)) # ord ord() 函数是 chr() 函数配对函数,将字符转ASCII值
print(chr(ord(s[i]) + 3))
13.s = input('input a string:')
letter = 0 # 统计字母
space = 0 # 统计空格
digit = 0 # 统计数字
other = 0 # 统计其他字符
for c in s:
if c.isalpha():
letter += 1
elif c.isspace():
space += 1
elif c.isdigit():
digit += 1
else:
other += 1
print("字母:",letter,"空格:", space,"数字:",digit,"其他字符:", other)
【详解】
本题主要考查程序设计。

题干要求可通过Python程序实现,使用for循环、多条件分支结构。

其中实现分别统计出其中英文字母、空格、数字和其它字符的个数可通过函数isalpha、isspace、isdigit来判断统计,具体代码如下:
s = input('input a string:')
letter = 0 # 统计字母
space = 0 # 统计空格
digit = 0 # 统计数字
other = 0 # 统计其他字符
for c in s:
if c.isalpha():
letter += 1
elif c.isspace():
space += 1
elif c.isdigit():
digit += 1
else:
other += 1
print("字母:",letter,"空格:", space,"数字:",digit,"其他字符:", other)
14.34chick_num
【详解】
本题主要考查Python程序的执行。

①公鸡数量的范围1-20,for cock_num in range(1,21)表示变量cock_num的范围是1-20,故此处填21。

②母鸡的数量可能为1-33,同理,故此处
填34。

③此处是按顺序使用print()函数输出公鸡数量、母鸡数量、小鸡数量,故此处填chick_num。

15.C A B
【详解】
本题主要考查队列数据结构及Python程序。

①队列是从队头出队,队尾入队,使用pop函数出队,队头的索引值是0,故此处填boy.pop(0),girl.pop(0)。

②队列入队使用append方法追加到队列尾,此处是男生入队boy.append(x),故选A选项。

③同理,此处是女生入队girl.append(y),故选B选项。

16.list plt.plot(X,Y) 2
【详解】
本题主要考查Python程序调试与执行。

①由代码Y=[6,4,4,3,3,6,9,12,12,11,9,7],可知变量Y的数据类型是list(列表类型)。

②scatter是绘制散点图函数,图中还需要使用绘图函数plot,故第8行横线处的代码是plt.plot(X,Y)。

③通过观察,气温釆样间隔时间是2个小时。

17.顺序结构pi=3.14r=float(input(“请输入半径r:”)) 整型和实数型不能直接运算,结果会有误差h=float(input(“请输入高h:”))
【详解】
本题主要考查Python程序执行与调试。

①分析程序可知,解决问题的程序用到的控制结构有:顺序结构。

②圆周率定义为:3.14,故第二空填pi=3.14。

③r=float(input(“请输入半径r:”)) 整型和实数型不能直接运算,结果会有误差h=float(input(“请输入高h:”))。

18.total<60000every_year*0.68
【详解】
本题主要考查Python程序执行与调试。

①由题干可知,while循环条件是总销量total小于60000,故第一空填total<60000。

②平均每年的销量比上一年增加68%,即every_year + =every_year*0.68,故第二空填every_year*0.68。

19.①i <=(Len(s)\8)*8 ②a(start + c((i-1)Mod 8+1)) ③ss = convert(Asc(b(i)))
【详解】
(1)“A”的ASCII码值是65,用二进制表示为0100001,m=35,用二进制表示为0010001,位做异或运算,相同为0,相异为1,可得:01100010。

(2)①以8个数据为一段进行分段处理,个数等于8的数据段需进行位置变换,故需进行位置变换的数据段有(Len(s)\8)个,数据个数为i <=(Len(s)\8)*8。

②位置变换方法:加密后数据段的第ⅰ个元素=原数据段的第c(i)个元素,其中i=1,2,……,8,i表示段内位置。

代码“Do While i <=(Len(s)\8)*8”中的i对应段内位置可为“1+(i-1)Mod8”,start表示该数据段第一个数据的前个位置,故数组b第i位置元素是来自数组a第start + c(1+(i*-1)Mod 8)位置,故②处代码为“a(start + c(i-1)Mod8+1))”。

③位置变换后的数据需转二进制,再按位做异或运算,故③处的代码是调用自定义函数convert把b(i)中字符的ASCII码转二进制后存入变量ss,故此处代码为“ss =
convert(Asc(b(i))”。

20.①④不能 1080*1920*24*25*1/1024/1024/100≈10.8Mbps,大于网络传输带宽
10Mbps,所以不能满足直播要求。

12或2.0‘shqk. xlsx’或“shqk. xlsx”(detai1[‘售价’]-detail[‘进价’])*detai1[‘数量’]
【详解】
本题主要考查Python程序设计相关知识点。

①手机、数码照相机均属于模数转换的设备,可以实现模拟信号与数字信号的转换,故填①④。

②根据直播平台要求,直播画面是1080*1920像素、24位真彩色、帧频为25fps,视频压缩比为100:1,在不考虑视频传输优化的情况下,小强家目前10Mbps的宽带不能满足直播要求。

③视频存储容量=像素*颜色深度*帧频*时长,1080*1920*24*25*1/1024/1024/100≈10.8Mbps,大于网络传输带宽
10Mbps,所以不能满足直播要求。

④由图可知,1表示成交,0表示未成交,流水号为2019030602的售货记录中,已成交的商品类别数是1,都是饮料(即货号17和货号5)。

⑤该流水号的总利润是(2.9-2.5)*3+(1-0.8)*4=2.0,故填2或2.0。

⑥该表格文件名是shqk.xlsx,此处读入该表格文件,故填‘shqk. xlsx’或“shqk. xlsx”。

⑦利润=(售价-进价)*数量,数据已经读到detail中,故此处填(detai1[‘售价’]-detail[‘进价’])*detai1[‘数量’]。

21.m=0 elift<60: A
【详解】
本题主要考查Python程序的执行与调试。

①若员工在本月累计运动时间30小时以下,奖励0元,即m=0。

②达到45但不足60小时奖励450元,故填elift<60:。

③-1<0,不是有效值,故输出信息为“输入错误”,故本题选A选项。

22.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。

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

24.range %10 x% 10或x-b*100-s*10或其它同等答案x
【详解】
本题考查的是Python程序设计。

水仙花数是指一个三位数,故使用range函数遍历
100~999;s存放的是十位数,故可以选对x取整后再除以10求余,故第二空应填%10(求。

相关文档
最新文档