Profilo di antocruo

Nome antocruo
Indirizzo email n/a
Messaggi3
  • Re: Funzione con ciclo for e condizioni.
    Forum >> Principianti
    L'ho corretta in questo modo.

    Ma non riesco a far restituire "None" quando il cod_es non è presente nell'elenco.




    def valori_min_max(es_svolti,cod_es):

    valori=[]

    for i in es_svolti:

    if i1==cod_es:

    valori.append(i3)

    else:

    continue



    return min(valori),max(valori)
  • Re: Funzione con ciclo for e condizioni.
    Forum >> Principianti
    Ciao, ti ringrazio per la pronta risposta!
    Purtroppo il codice che mi hai inviato restituisce un errore(TypeError: '>=' not supported between instances of 'tuple' and 'int')




    Inoltre preferirei non creare un codice molto diverso dal mio, ma capire dove sta l'errore che ho commesso. :dont-know:
  • Funzione con ciclo for e condizioni.
    Forum >> Principianti
    Ciao a tutti.




    Devo creare una funzione che mi restituisca il valore massimo e il valore minimo di un esame, contenuto in una lista di tuple:

    es_svolti=[(cod_utente,cod_es,data_es,val_es)]




    es_svolti = [(23, '90.44.1', '12/12/2018', 20), (23, '90.33.5', '12/12/2018', 12), (13, '90.09.1', '12/12/2018', 52),

    (31, '90.09.1', '21/12/2018', 120), (34, '90.09.1', '21/12/2018', 2), (55, '90.44.1', '21/12/2018', 48),

    (13, '90.33.5', '21/12/2018', 70), (23, '90.09.1', '12/01/2019', 20), (12, '90.09.1', '10/01/2019', 80),

    (12, '90.33.5', '12/01/2019', 120), (55, '90.44.1', '12/01/2019', 38), (12, '90.09.1', '12/01/2019', 120)]




    La funzione è la seguente:

    def valori_min_max(es_svolti,cod_es):

    for i in es_svolti:

    if cod_es not in i:

    return None

    else:

    if i1==cod_es:

    valori=[]

    valori.append(i3)

    return min(valori),max(valori)







    Ecco cosa la funzione dovrebbe restituire:

    valori_min_max(es_svolti, '90.44.1') # risultato: (20, 48)


    valori_min_max(es_svolti, '90.44.5') # risultato: None

    valori_min_max(es_svolti, '90.09.1') # risultato: (2, 120)





    Ecco invece cosa mi restituisce:


    """ #risultato: (20, 20)

    """ #risultato: None

    """ #risultato: None





    Quindi prende in considerazione soltanto la prima tupla.

    Facendo delle prove nella shell invece mi accorgo che stampando i mi restituisce l'ultima tupla.




    Non capisco dove sta l'errore. Qualcuno potrebbe aiutarmi? Grazie.