Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2013
    Messaggi
    104

    [PYTHON] all or any: problemi

    Salve a tutti..
    Ho una lista inizializzata con elementi False

    finchè c'è un elemento False
    scorrendo la lista deve effettuare delle operazioni su ogni elemento,
    poi imposto il valore a True

    alla fine voglio controllare se sono tutti veri..

    Vi posto il codice perché non trovo il problema...

    codice:
    while any(fine):                // e di questo while non riesco a capire che condizione dovrei mettere
    for i in range(n_processi):                  //affinchè esegua tutto il resto finché c'è ALMENO UN elemento false
                for j in range(n_risorse):
                        if ((fine == False) and (necessita[i][j] <= lavoro[j])):
                                lavoro[j] += allocate[i][j]
                                print(lavoro)
                                fine[i] == True
                        else:
                                print(lavoro)
    
    
    if all(fine):
            print("Stato sicuro")
    else:
            print("Stato non sicuro")

  2. #2
    La condizione del while dovrebbe essere:
    codice:
    not all(fine)
    cosicché il while cicli finché non diventano tutti True gli elementi della lista.
    I miei esempi in Java qui: http://cdpjavaexamples.altervista.org/index.html

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2013
    Messaggi
    104
    Quote Originariamente inviata da Naruto 92 Visualizza il messaggio
    La condizione del while dovrebbe essere:
    codice:
    not all(fine)
    cosicché il while cicli finché non diventano tutti True gli elementi della lista.
    ho provato..
    ma crea un loop infinito...
    Schermata da 2014-10-20 17:45:42.jpg

  4. #4
    Ciò accade perché c'è almeno un elemento che resta a False nella lista (per rendertene conto, prova a fartela stampare appena entri nel while).
    C'è inoltre un'imprecisione: la condizione fine == False sarà sempre falsa in quanto la lista non è vuota.
    Forse volevi fare fine[i]?
    Ultima modifica di Naruto 92; 20-10-2014 a 17:56
    I miei esempi in Java qui: http://cdpjavaexamples.altervista.org/index.html

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 © 2024 vBulletin Solutions, Inc. All rights reserved.