antocruo
Profilo di
Nome | antocruo |
---|---|
Indirizzo email | n/a |
Messaggi | 3 |
-
- 2019-01-30 16:41:41
- 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)
-
- 2019-01-30 15:59:39
- 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.
-
- 2019-01-30 12:14:02
- 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', 4,
(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', 3, (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, 4
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.