1. 某货品仓库最多存储m件货物,只能从左右两侧取出,现要在移动其他货物次数尽可能少的情况下取出一件某类货物,取出后,其他货物按照原有顺序重新存入,货物间不留空隙。

比如:仓库存储情况列表a=["0","A","A","B","B","A","0","0","0"],其中"0"表示空位,"A","B"表示位置上货物种类,现需从中取出一件B货物,则应从右侧取出,取完后,仓库存储列表更新为a=["0","A","A","B","A","0","0","0","0"]。

(1) 若要在上述实例中,再取出一件B货物,则应从(选填:左侧/右侧)取出。
(2) 实现上述功能的部分Python程序如下,请在划线处填入合适代码。

#读取仓库存储情况列表a,代码略

m=len(a)

kind=input("请输入需要取出的货物种类:")

left=0   #left记录从左侧取出此货物时需移动其他物品的次数

right=0  #right记录从右侧取出此货物时需移动其他物品的次数

i=0;j=m-1

t=[0,0]  #t表示是否找到此货物

while i<=j and t!=[1,1]:

    if :

        i=i+1

    elif a[i]!=kind:

        left+=1

        i=i+1

    else:

        t[0]=1

    if a[j]=="0":

        j=j-1

    elif a[j]!=kind:

       

        j=j-1

    else:

        t[1]=1

if left>right:

    for k in range(j,m-1):

        a[k]=a[k+1]

    a[m-1]="0"

else:

    for k in range():

        a[k]=a[k-1]

    a[0]="0"

print(a)

【考点】
常见数据类型、数组; 分支结构语句及程序实现; 循环结构语句及程序实现;
【答案】

您现在未登录,无法查看试题答案与解析。 登录
综合题 困难
能力提升
真题演练
换一批