import numpy as np import math def min(n1): for k in range(n1) : Tour = sum(p) print(Tour) if d[k] >= Tour : temp_ord.append(k)#储存大于工时和的工件序号 n3 = len(temp_ord) print(temp_ord) for j in range(0,n3-1): value=temp_ord[j]#工序号 kk.insert(0,p[value]) max=np.amax(kk) if p[value] >= max: order.insert(0,value) p[value] = 0 d[value] = 0 temp_ord.clear() kk.clear() print(p) print(d) return (order) p = np.array([]) # 工时 d = np.array([]) # 期限 p = input("请输入一串工时,用空格分隔:").split() p = [int(x) for x in p] print(p) d = input("请输入一串工期,用空格分隔:").split() d = [int(x) for x in d] print(d) n1 = len(p) n2 = len(d) if n1 != n2: print("工时与工期不匹配") kk=[] temp_ord = [] order = [] # 最后工期 if __name__ == '__main__': #for g in range(n1): for i in range(n1): order=min(n1) print(order) if len(order)==n1-1 : end= [] for i in range(len(p)): if p[i] != 0: end.append(i) last=end[0] order.insert(0, last) print("最后结果") print(order) exit(0)