Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [PYTHON] Problema ciclo while

    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! -.-''

    codice:
    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)
    Ps. se non capite qualche passaggio ditemelo che lo commento
    Grazie per l'aiuto!
    Ultima modifica di PietroR91; 20-10-2014 a 00:53

  2. #2
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,589
    Probabilmente è la condizione del ciclo. Se intendi che deve uscire al verificarsi di una o l'altra condizione ci va un and. Infatti not (a or b) = (not a) and (not b)
    Ultima modifica di Scara95; 20-10-2014 a 07:41 Motivo: chiarificazione
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  3. #3
    Che sbadato.. Grazie mille!

  4. #4
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,589
    Di nulla
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.