Ciao a tutti,
sto sviluppando un algoritmo per un applicazione scolastica, solo che ho un problema, a quanto pare questo ciclo while ha qualcosa di sbagliato, infatti sembra non uscire mai dal ciclo e quindi non stampa la lista f;
sapete darmi qualche dritta?
Ci ho passato una serata sopra ma non riesco a venirne fuori
Le liste iniziali mettono in condizione il ciclo ad avere un loop infinito, e fin qui è giusto, cioè è quello che mi serve, perciò ho messo una variabile 'u', che incrementa, fino a che non raddoppia il numero di item di b, il chè indica che vi è un loop (in questo caso 5item*2=10), solo che non esce mai dal ciclo! -.-''
Ps. se non capite qualche passaggio ditemelo che lo commentocodice:fine=[0,0,0,0,0] lavoro=[2,1,0] b=[[7,2,3],[0,2,0],[6,0,0],[0,1,1],[4,3,1]] f=[] e=0 d=0 u=0 while(d!=5) or (u!=10): for i in range(5): c=[z for z, t in zip(b[i],lavoro) if z < t or z==t] if fine[i]==0: if (len(c)==len(b[i])): fine[i]=1 lavoro=[s+q for s,q in zip(lavoro,b[i])] f.append(i) d=d+1 else: print('Il processo ' + str(i) + ' non soddisfa le condizioni. Lo metto in attesa.' ) print('\n') u=u+1 print(f)
Grazie per l'aiuto!


Rispondi quotando