学进去-教育应平等而普惠
试题
类型:操作题
难度系数:0.15
所属科目:高中信息技术
某工厂将送达的各批次物品按品种打包。小李将各批次物品信息按送达时间顺序合并,得到如图a-2所示数据data。同一个包裹只能装入同一品种任意批次的物品,当某一个品种物品A送达使得已送达的该品种物品总重量超过m时,则将在该物品之前送达的物品按重量由大到小依次装入包裹,其余重量不足m的品种,按各品种依次装入包裹。编写程序,读取物品合并更新后的信息,按送达时间顺序打包,输出各包裹中的物品序号,运行结果如图b所示。

序号

品种

送达时间

批次

重量(千克)

序号

品种

送达时间

批次

重量(千克)

1

2

8:35

1

6

1

0

8:30

2

3

2

1

8:50

1

8

2

2

8:35

1

6

3

0

9:10

1

2

3

0

8:40

3

4

4

0

9:15

1

4

4

1

8:50

1

8

5

0

9:10

1

2

序号

品种

送达时间

批次

重量(千克)

6

0

9:15

1

4

1

0

8:30

2

3

图a-2

序号

品种

送达时间

批次

重量(千克)

1

0

8:40

3

4

图a-1

m=10
data=[1,0,’8:30’,2,3],[2,2,’8:35’,1,6],[3,0,’8:40’,3,4],

[4,1,’8:50’,1,8],[5,0,’9:10’,1,2],[6,0,’9:15’,1,4]


第1个包裹中品种为0,各物品的序号依次是:3,1,5,
第2个包裹中品种为0,各物品的序号依次是:6,
第3个包裹中品种为1,各物品的序号依次是:4,
第4个包裹中品种为2,各物品的序号依次是:2,

图b


请回答下列问题:
(1)送达物品信息合并后如图a-2所示,若包裹装入物品重量不能超过8千克,则首先打包完成的包裹中装入品种为0,各物品的序号依次是________
(2)定义data_sort(lst)函数。先将数据(如图a-1中所示)合并得到1st列表(如图a-1中所示),函数data_sort(lst)的功能是对1st列表按送达时间升序排列,并对序号进行更新。
def data_sort(1st):

for i in range(n-1):

for j in range(n-1,i,-1):

if   1st[j][2]<1st[j-1][2]:

1st[j],1st[j-1]=1st[j-1],1st[j]

1st[i][0]=i+1

return 1st


执行上述代码后,________(填写:能/不能)正确得到如图a-2中的数据。
(3)实现上述功能的部分Python程序如下,请在划线处填入合适的代码。
def pack(k):#对品种k已送达待打包的物品按重量由大到小输出

#部分代码略

p=b[k][1]

num+=1

print(″第″+str(num)+″个包裹中品种为″+str(k)+″,各物品的序号依次是:″,end=″ ″)

while p!=-1:

print(data[p][0],end=″,″)

p=x[p]


″″
合并后排序得到n件物品的数据存储在数组data中并输出,包裹最大承受最大重量为m千克。物品品种的数量是sn,代码略
″″
b=[0,-1] for i in range(sn)]
x=[-1 for i in range(n)]
num=0
for i in range(n):

k=data[i][1]

if b[k][0]+data[i][4]>m:

pack(k)

b[k]=[0,-1]

p=_______

if p==-1:

b[k][1]=i

else:

             if data[i][4]>data[p][4]:

             b[k][1]=i

_______

             else:

            q=-1

             while_______

        q=p

                 p=x[p]

             x[q]=i

             x[i]=p

b[k][0]+=data[i][4]


#重量不足m的品种,按各品种依次装入包裹
for i in range(sn):

if   b[i][1]!=-1:

pack(i)

编辑解析赚收入
收藏
|
有奖纠错

同类型试题

优质答疑

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

用户名称
2019-09-19

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

用户名称
2019-09-19
我要答疑
编写解析
解析:

奖学金将在审核通过后自动发放到帐

提交
我要答疑
我要答疑:
提交