学进去-教育应平等而普惠
试题
类型:操作题
难度系数:0.15
所属科目:高中信息技术
某工厂有若干种货物存储在仓库,仓库有m(编号为0~m-1)个货柜,每个货柜存放一件货物。管理员可以入库、出库等操作,每次操作对象有货物名称和数量,入库时从0号到m-1号找到空的货柜放入仓库,出库时一样按序取出。
如仓库有m=10个货柜,依次进行以下3次操作:
入库:[ ['A',3],[B',1] ],表示把货物A入库3件,货物B入库1件;
出库:[ ['A',1]],表示把货物A出库1件;
入库:[['C',2],['A',1]],表示把货物C入库2件,货物A入库1件
操作结束后,仓库的存储模拟视图如图所示:
0123456789
CAABCA
(1)在上图所示的基础上,再进行出库操作[ ['C',1]],入库操作[['B',2] ],操作结束后0号货柜存放的货物是_______
(2)函数finde() 可以在仓库中查找空货柜的位置,加框处代码应改为________
def finde():

j = 0

while:

j += 1


             if j == m:

                      return   -1


             c[j] = -1
        return j
(3)函数putin实现将列表a中的货物入库,如a=[['A',3],['B',1]]。
def putin():

for i in range(len(a)):

p=finde()

if p==-1:

#仓库已满,后续操作代码略

return

if a[i][0] not in info:       #当前货物没出现过

info[a[i] [0]] =[p, p]

else:

c[info[a[i][0]][1]]=p

for j in range(a[i][1] -1):

       ________

p=c[p]

info[a[i][0]][1] =p


(4)函数getout实现将列表a中的货物出库操作。
def getout():

for i in range(len(a)):

if a[i][0] not in info:

print("提示:该货物已无存量! ")

continue

p=info[a[i][0]][0] ; r= 0

while p! =-1 and r<a[i][1]:

t=c[p] ; c[p]=-2 ; p=t

                    _______

if p==-1:

info.pop(a[i][0]) #删除字典中指定的键值对

else:

                    _______

print("提示:该货物已出库"+str(r) +"件")


m=500#货柜个数
c=[-2] *m ; info={}       #c[i]=-2,表示i号货柜为空
while True:

print("仓库管理系统操作菜单:1.入库2.出库3.查询4.存储现状图5.退出")

t=int(input("请输入操作步骤:(选择数字1~5) "))

#读入货物数据到列表a,调用相应函数,代码略

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

同类型试题

优质答疑

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
我要答疑
编写解析
解析:

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

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