学进去-教育应平等而普惠
试题
类型:操作题
难度系数:0.40
所属科目:高中信息技术
某银行网点有5个窗口,银行最少要保持3个窗口营业,另2个窗口初始为备用状态。客户按批次进入大厅,每个客户的业务办理时间为1个单位,银行每过1个时间单位就允许下一批客户进入。对于进入银行的客户,如果某窗口正空闲,则可上前办理业务,反之,若所有窗口均有客户,他便会排在最短的队伍后面。当平均每个营业窗口前的队伍人数大于等于7人时(队伍包括正在办理业务的客户在内),银行可临时将备用窗口中一个或两个改为营业窗口,当所有窗口平均客户少于7人时,将立即停用一个营业窗口转为备用,窗口平均人数若继续减少至以上情况,可再停止一个营业窗口,但最多只能有两个窗口为备用状态。
现模拟该银行排队程序,效果如下图所示,输出10个人各自的等待时间单位:

输出格式描述: (客户编号:等待的时间)
(1)实现上述功能的Python程序如下,请在划线处填入合适的代码。

mins=3       #常用窗口3个

maxs=5       #最多可开设5个窗口

lims=7       #正常服务时每个窗口平均等待的最多人数

tm=int(input("请输入客户共多少批: "))

ps= list(map(int ,input("输入每批客户人数"). split(",")))

# list(map(int,["1","2","3"]) )返回:[1, 2, 3]

sw= mins

if len(ps)! = tm:

print("输入有误! " )

pid, cnt=0,0

head, tail=0,0

qe=[[0,0]]* 1000       #创建等待队列

def updatetime(s):

for j in range( len(s)):

s[j][1]+= 1

for i in range(tm):

for j in range(sw):        #将轮到的人进行出队

if ________ :

print(f’({qe[ head][0]} :{qe[ head][1]})',end=")   #按格式出队输出

head += 1

cnt-=1

#人数减少后,检查人数和窗口数是否符合要求并按照要求减少窗口,代码略

if head!= tail:

________   #更新等待队列里每个人的等待时间

for j in range (ps[i]) :

pid+= 1

qe[tail]=[pid,0]

tail += 1

cnt += 1

while _________ :

sw += 1

while cnt>0:

#最后一批人进入银行后,程序只需要处理等待队列剩余人员到出队和窗口的减少,直至人数为0,代码略。


(2)共有3批客户,分别为22人、23人、21人,则输出结果中,第4个人等待时间单位是____
编辑解析赚收入
收藏
|
有奖纠错

同类型试题

优质答疑

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

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

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