试题

试题 试卷

logo

题型:综合题 题类: 难易度:普通

浙江百校2023年9月高三信息技术起点调研测试卷

某货品仓库最多存储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,代码略

kind=input("请输入货物:")

left=right=0          #left记录从左侧取出此货物时需移动其他物品的次数,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(i , 0, -1):

       

    a[0] ="0"

print(a)

举一反三
返回首页

试题篮