# 读取货位总数,存入n,代码略。
cnt1 = n
lst = [0]*n # 货位状态,0表示对应的货位为空
while True:
#读取本次已操作的数据:箱子类型、操作类型、货位编号起始值,存入t、d和s,代码略
if t = = 'A':
w = 2
:
w=1
else: # t不是'A'或'B'时退出循环
break
if d = = 'P': # d为P时表示放置,否则表示搬离
else:
cnt1 + = w
lst[s]=1-lst[s]
if t = = 'A':
lst[s+1] = 1-lst[s+1]
i, cnt2 = 0,0
while i < n-1:
if lst[i] = = 0 and lst[i+1] = = 0:
cnt2 + = 1
i + = 1
print("当前空货位数: ',cnt1,',还可放置A型箱子的最多数量: ',cnt2)
现已对该工程的依赖关系进行了梳理,结果如图b所示,标记“T”表示依赖关系需保留,标记“F”表示依赖关系需删除。
根据每个任务完成所需的天数和梳理后的依赖关系,编写程序,首先删除标记为“F”的依赖关系,然后计算工程最快完成所需的天数,并以工程最快完成所需的天数为期限,计算每个任务最晚必须开始的时间。
图a |
图b |
请回答下列问题:
def erase(lst):
i=0
j = len(lst)-1
while i<= j:
if lst[i][2]== 'T':
i+=1
else:
if lst[j][2] == 'T':
lst[i]=lst[j]
i + = 1
j - = 1
return i
若lst列表依次存储图b所示的依赖关系,如lst[0]为[0,5,'T'],调用erase(Ist)的数,则语句“lst[i] =lst[j]”的执行次数为。
def proc(n, lst,task):
pr=[0]*n
w=[0]* n # w[i]存放任务1最晚必须开始的时间
m=erase(lst)
for i in:
task[lst[i][1]][1] =lst[i][0]
pr[lst[i][0]] =1
c=[]
days= 0 # days存放工程最快完成所需的天数
for i in range(n):
if pr[i]==0:
k = i
s = 0
while k!= -1:
c.append(k)
s += task[k][0]
if s > days:
days=s
for i in range(n-1,-1,-1):
k =c[i]
if task[k][1] == -1:
w[k] = days-task[k][0]+1
else:
# 输出days,以及保存在w中的每个任务最晚必须开始的时间,代码略
'''
工程包含的任务数存入变量n
任务间的依赖关系存入lst列表
lst[0]包含3项,任务1st[i][0]依赖于任务lst[i][1],lst[i][2]存放保留/删除标记,任务数据存入task列表task[i]包含2项,task[i][0]为完成任务主所需天数,task[i][1]的初值为-1
代码略
'''
proc(n,lst,task)
max1=max2=0
for i in range(len(1st)):
if lst[i]>max1:
⑴
⑵
elif lst[i]>max2:
⑶
print("最大值是:"+str(max1)+",次大值是:"+str(max2))
上述程序段中划线处可选语句为:
①max1=1st[i] ② max1 = max2 ③max2 = max1max2 =1st[i]
则(1)、(2)、(3)处语句依次可为( )
import random
a=[0]*6
i=0
while i<6:
a[i]=random.randint(1,5) #元素值在1到5之间
if a[i]%2!=i%2:
i-=1
elif i%2==1:
a[i]+=a[i]-1
i+=1
print(a)
程序运行后,输出的a 不可能的是( )