学进去-教育应平等而普惠
排序:
限于篇幅仅展示1000道试题,请根据关键词精准搜索
机器人从原点(0,0)开始在平面中移动。机器人只能通过用户给定的指令 UP 向上,DOWN 向下,LEFT 向左和 RIGHT 向右移动。如机器人收到的运动指令向上 5 步,向下 3 步,向左 3 步, 向右 2 步,按回车键结束指令输入,程序运行界面如下所示:
请输入方向和步数
,隔开UP,5
,隔开DOWN,3,隔开LEFT,3
,隔开RIGHT,2
,隔开
经过4个指令
机器人距离原点2.24
左侧为运动方向,右侧数字为前进步数。请编写一个程序,计算经过一系列运动之后,机器人当前位置离开原点的距离(四舍五入保留两位小数)。
(1)请把下面的代码补充完整。
import math
pos=[0,0]
n=0
print('请输入方向和步数')
while True:

s=input(',隔开')

if not s:

          break

____


             movement=s.split(',')#用于字符串分割的常用方法。如:'a#b#c'.split('#')结果为['a', 'b', 'c']
             direction=movement[0]
             steps=②____
             if direction=='UP':

          pos[1]+=steps


             elif direction=='DOWN':

          pos[1]-=steps


             elif direction=='LEFT':

          pos[0]-=steps

____

          pos[0]+=steps


print('经过'+④____+'个指令')
print('机器人距离原点',⑤____
类型:操作题
难度系数:较难0.4
收藏
纠错
详情
奇偶校验码是一种增加二进制传输系统可靠性的简单且广泛采用的方法,该方法通过增加一个校验位使得传输的二进制码中“1”的个数恒为奇数或偶数,因此该校验码也分为“奇校验” 和“偶校验”。“奇校验”的原理:在发送端发送的每个字节二进制码后增加一个校验位(0 或1),使得“1”的个数为奇数;接收端接收并统计每个字节及其校验位中“1”的个数,若为偶数,则意味着传输过程中存在差错。例如:

接收到的每个字节及校验码

“1” 的个数

传输正误

100101001

4

错误

011010101

5

正确

101011010

5

正确

根据以上原理,小强编写了一个 Python 程序,对接收到的 9 位二进制编码进行“奇校验”, 判断其传输的正误,若判断正确则将该二进制编码(校验码除外)转成十六进制并输出。
请回答下列问题:
(1)若接收到的二进制码为“101011011”,传输过程____(选填:是/否)存在差错。
(2)实现上述功能的 Python 程序如下,请在划线处填入合适的代码。
def BtoH(s):

p=0;ans=""

code={10:"A",11:"B",12:"C",13:"D",14:"E",15:"F"}

for j in range(0,8,4):

p=int(s[j:j+4],2)# int(x,2):将 x 按照二进制转换成十进制整数

if 0<=p<=9:

ans=ans+str(p)

else:

ans=①____

return ans


s=input("请输入 9 位二进制编码:")
k=0
for i in s:#统计 9 位二进制编码中“1”的个数

k=k+int(i)


if ②____:

print("传输错误!")


else:

print("传输正确!")

result=③____

print("字节编码用十六进制表示:", result)


(3)输入"1010110111"程序运行后,输出的结果正确的是(     )(单选,填字母)
A.传输正确!                                                          B.传输错误!
C.传输正确! 字节编码用十六进制表示: AD       D.传输错误! 字节编码用十六进制表示: AD
类型:操作题
难度系数:较难0.4
收藏
纠错
详情
亚运会恰逢国庆假期,为了增加主城区的通行效率,避免主城区的车辆拥堵情况,杭州交通实行错峰限行。城市限行规则:非浙车牌禁止在城市核心圈通行,浙车牌按照车牌尾号在规定的日期行驶(如下表10月2号-8号限行规定所示,不考虑尾号为非数字的车牌)。编写Python程序,按照城市限行规则补充程序代码,实现车牌限行日期提醒。程序运行结果如下图所示:

10月2号-10月8号浙号车牌限行规定

日期

2号

3号

4号

5号

6号

7号

8号

禁止通行车牌尾号

单号

双号

单号

双号

单号

双号

单号

(1)在划线处填入合适的代码。
def xianxing(s):
       if s[0] != "浙":
             jieguo="禁止通行"
       elif ____:
             jieguo="限行日期(2号、4号、6号、8号)"
       else:
             jieguo="限行日期(3号、5号、7号)"
       return jieguo
chepai =input("请输入车牌号:")
i = 0
for j in range(len(chepai)):
       if chepai[j]==",":
             s=chepai[____]
             print(s+":"+____)
            
(2)程序中加框处代码有误,应修改为____
(3)如果输入车牌号为“沪A1234,浙A12345”,则输出结果为:____
类型:操作题
难度系数:较难0.4
收藏
纠错
详情
有如下 Python 程序,程序执行,输入数据 k 之后输出的结果不正确的是( )

L=[5,8,7,8,2,6,4,6,8,9]

k=int(input("请输入 k 值:"))

j=0

for i in range(10):

       if L[i]<=k:

             L[j]=L[i]

             j=j+1

print(L[2])

A.k=5 输出:5B.k=6 输出:6
C.k=7 输出:2D.k=8 输出:7
类型:选择题
难度系数:较难0.4
收藏
纠错
详情
在平面坐标系中,给定一组有序的点。依次用线段连接这些点,构成一条折线。其中字符串a为输入的坐标系中的各点坐标,以逗号为界从a中取出存入b列表中,列表b的第1、2个元素为第一个点的x坐标和y坐标(即x1,y1),第3、4个元素为第二个点的x坐标和y坐标(即x2,y2),依次类推。编写Python程序段如下,用于计算折线的长度。
     from math import *
def dist(x1, y1, x2, y2):
       length = sqrt((int(x1) - int(x2))**2 +____①)
       return length
a = input("请输入各点的坐标:")       # 如“2,3,4,5”则表示坐标点(2,3)和(4,5)
b = a.split(",")
if len(b) % 2 != 0:
       print("输入的坐标有误!")
else:
       s = 0
       for i in range(0,____②, 2):
             s = s +____

print("折线的长度为:", s)


(1)如输入的数据为“2,3,5,7,8,11”,则折线的长度为:①____;如果输入的数据为“2,3,5,7,8,11,”则程序的输出结果是____②(单选,填字母)。

A. 程序输出正确的折线长度        

B. 输入的坐标有误!        

C. 程序运行出错!


(2)为使程序能正确运行,请在划线处填入合适的代码。
类型:操作题
难度系数:较难0.4
收藏
纠错
详情
GeoHash 是空间索引的一种方式,其基本原理是将地球理解为一个二维平面,通过把二维的空间经纬度数据编码为一个字符串,可以把平面递归分解成更小的子块,每个子块在一定经纬度范围内拥有相同的编码。以经纬度为(121.43737,31.192932)为例。
第一步:将经纬度转换为二进制

编码规则为:先将纬度范围(-90, 90)平分成两个区间(-90, 0)和(0, 90),如果目标维度位于前一个区间,则编码为 0,否则编码为 1,然后根据目标纬度所落的区间再平均分成两个区间进行编码,以此类推,直到精度满足要求,经度也用同样的算法。
4 (22.5, 45.0) (22.5, 33.75) (33.75, 45.0) 0
5 (22.5, 33.75) (22.5, 28.125) (28.125, 33.75) 1
…… …… …… …… ……
最后得到纬度的二进制编码为:101011000101110, 用同样的方式可以得到经度(121.43737)的二进制编码:110101100101101
第二步:将经纬度的二进制编码合并,从偶数 0 开始,经度占偶数位,纬度占奇数位。经度
110101100101101,纬度 101011000101110,得到的二进制编码为:111001100111100000110011110110
索引 0 1 2 3 4 5 6 7 8 9 10 11 12 21 22 23 24 25 26 27 28 29
经纬度 1 1 1 0 0 1 1 0 0 1 1 1 0 0 1 1 1 1 0 1 1 0
第三步:将合并后的二进制数做 Base32 编码
按照每 5 位一组,分成 6 组,每组计算其对应的十进制数值,按照 Base32 表进行编码。

11100 11001 11100 00011 00111 10110 转换成十进制是 28 25 28 3 7 22,查表编码得到最终结果,wtw37q。
林老师想编写一个 Python 程序,输入编码后的字符串,输出该编码对应的经纬度范围,运行结果如图 a 所示:

图a


(1)Python 程序如下,请在划线处完成填空。
def qj(l,r,a):#将二进制 a 转成对应的经纬度范围#该代码省略
def find(c):#在 base32 表中查找对应的十进制数
       for i in ① ____:
             if base32[i]==c:
                    return i
base32="0123456789bcdefghjkmnpqrstuvwxyz"
s=input("请输入编码:")
res=""
jd=[]
wd=[]
for i in range(len(s)):
   ____
       ans=""
       j=0
       while③____:
             ans=④____
             n=n//2
             j+=1
       res=res+ans
for i in range(len(res)):
       if i%2==0:
             jd+=res[i]
       else:
             wd+=res[i]
print("经度对应的二进制:",jd,"纬度对应的二进制:",wd)
print("经度范围:",qj(-180,180,jd),"纬度范围:",qj(-90,90,wd))
(2)若经纬度编码是 wm3,那么对应的经度二进制是____
类型:操作题
难度系数:较难0.4
收藏
纠错
详情
某超市的销售数据文件“超市销售数据.xlsx”部分内容如图a 所示:

图 a


(1)小杜需对图 a 所示的数据进行整理,下列说法正确的是____(多选,填字母)
A. H3 单元格的数据缺失,可以用随机数填充
B. F4 单元格的数据格式不一致,应将数据进行格式转换
C. C5 单元格的数据存在逻辑错误
D.第 6 行和第 7 行存在数据重复,应删除其中一行   
E. 第 6 行和第 7 行存在数据重复,应将数据合并
(2)编程统计 2022 年月度销售金额变化,python 程序如下,程序运行结果如图b 所示:

图b


import pandas as pd
import matplotlib.pyplot as plt from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['Microsoft YaHei']#设置中文字体格式
df=pd.read_excel(①____)
df.insert(0,’年份’,’’)#在第 1 列插入“年份”列,初始值为空
df.insert(0,’月份’,’’)#在第 1 列插入“月份”列,初始值为空
for i in df.index:
       df.at[i,’年份’]=df.at[i,’销售时间’][0:4]+’年’
       df.at[i,’月份’]=df.at[i,’销售时间’][4:6]+’月’
df1=②____#筛选出 2022 年度的数据
g=df1.groupby("月份",as_index=False).销售金额.sum() plt.figure(figsize=(10,8))
plt.bar(③____,g.销售金额)
plt.title("2022 年月度销售金额变化表",fontsize=16) plt.ylabel("销售金额",fontsize=12)
plt.show()
类型:操作题
难度系数:较难0.4
收藏
纠错
详情
数据在网络传输中,带宽是宝贵的资源,通过压缩传输的字符串,可以减少数据量,从而加快传输速度,节省带宽资源。现有一种字符压缩方法描述如下:对于连续的若干个相同的子串“X”会压缩为“[DX]”的形式(D是一个整数且1≤D≤99),如字符串“ABABABAB”就压缩为“[4AB]”或者“[2[2AB]]”,类似于后面这种压缩之后再压缩的称为二重压缩。如果是“[2[2[2AB]]]”则是三重的。现给出一串压缩后的结果,并对其进行解压缩。
思路:先找出每个左括号的位置,然后从后往前枚举,找出每一个括号内要解压的子串以及要解压的次数,将子串解压后得到一个新串,重复操作,得到最终的解压缩结果。
例如:[2[2[2AB]]]→[2[2ABAB]]→[2ABABABAB]→ABABABABABABABAB。
(1)已知采用上述压缩方法得到的压缩结果是“[2Z[2DB]]”,则解压缩结果为_____________
(2)根据上述描述,小明利用Python设计了一个解压缩程序,请在划线处填入合适的代码。
start=[]
s=input("请输入压缩结果:")
for i in range(len(s)):
       if s[i]=="[":
          start.append(i)
for i in range(len(start)-1,-1,-1):
   num=0;temp=""
   _________________
   while j<len(s)and s[j]!="]":
       if "0"<=s[j]<="9":
          num=num*10+int(s[j])
       else:
          ___________________
       j+=1
       ans=num*temp
       s=s[:start[i]]+_______________       #重新构造字符串
print("解压结果为:"+s)
类型:操作题
难度系数:较难0.4
收藏
纠错
详情
高校学子是杭州亚运会志愿服务工作的重要组成部分。志愿者招募期间,某高校其中7个院系对报名者进行了模拟测评选拔,测评结果保存在Excel文件“zyztest.x1sx”中,如图a所示。小明用Python程序进行如下分析。

图a


(1)读取Excel文件“zyztest.xlsx”中的数据,计算每个人的总分,60分及以上为合格,运行程序并显示总分成绩不小于60分的报名者信息,代码如下:
import pandas as pd
df=pd.read_excel("zyztest.xlsx")
df.                                      #将数据中的“十六”修改为16
df['总分']=df.sum(axis=1)     #将每个人的总分求和并存在“总分”列
print(                             #输出总分不小于60分的报名者信息
①加框处应填入的代码是__________(单选,填字母)
A.at[4,'十六']=16                    B.at[5,'在线测试']=16
C.at[5,'十六']=16                    D.at[4,'在线测试']=16
②加框处应填入的代码是___________(单选,填字母)
A.df[["总分"]>=60]                  B.df["总分"]>=60
C.df[df["总分"]>=60]               D.df[df["总分"]]>=60
(2)每个院系各有20位报名者参与测评,小明根据总分情况统计各院系合格人数并进行排名,取人数最多的前三名院系,结果如图b所示,代码如下:
dfn=df[['院系','总分']]                                                  #取df对象中的两列数据进行处理
dfn=dfn.groupby("院系",as_index=False).count()       #按“院系”分组统计“总分”合格人数
dfn.rename(columns={'总分':'人数'},inplace=True)   #将列名“总分”改为“人数”
dfn=dfn.sort_values("人数",ascending=False)               #按“人数”降序排序
dfn=______________                                                     #取人数最多的前三名院系
print(dfn)
上述程序段中划线处代码为_____________(单选,填字母)

院系            人数


6            经济学院          15
0            人文学院          14
5            物理学院          11

图b


A.dfn.head()            B.dfn.head(3)          C.dfn.tail(3)          D.dfn.tail()
(3)根据题(2)处理结果绘制图表如图c所示,请完善划线处的代码。

图c


import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']        #用来正常显示中文标签
x=dfn.院系
y=___________
plt.title("合格人数最多的院系")
plt._________(x,y)
plt.show()
类型:操作题
难度系数:较难0.4
收藏
纠错
详情
设计一个二进制数、十进制数、十六进制数混合加法计算并得到运算结果为十进制的代码程序。输入的运算式由数字、大写字母、“+”和“=”组成的加法运算,其中“+”和“=”的前一个大写字母表示进制,B表示二进制、D表示十进制、H表示十六进制,表达式以“=”结束。实现上述功能的Python程序如下,运行示例如图所示,请回答下列问题:
   
(1)请在划线处填入合适的代码。
def xtod(s2):                    #转换成十进制数
     if s2[-1]=="B":
          n=2
     elif s2[-1]=="D":
          n=10
     elif s2[-1]=="H":
        _______________
     m=0
     for i in range(len(s2)-1):
          c=s2[i]
          if"0"<=c<="9":
             a=ord(c)-ord("0")#ord()函数:返回字符对应的ASCII值
          elif "A"<=c<="F":
             a=ord(c)-ord("A")+10
          m=m*n+a
     ____________
s=input("请输入运算式:")
result=0;s1=""
for i in range(len(s)):
     c=s[i]
     if c=="+" or c=="=":
        ________________
        s1=""
     else:
        s1+=c
print("运算结果为:"+str(result)+"D")
(2)若输入运算式是"10B+11D+12H=",则运算后十进制的结果为________________
类型:操作题
难度系数:较难0.4
收藏
纠错
详情
首页
上一页
下一页
尾页