Please ignore secret bonuses. Secret tests do NOT award bonus. Max hw grade is 30+2 bonus efficiency

Do you need help?

ordinamento alfabetico crescente intestazioni colonne hw2bis es. 3

f
flattak (270 points)
2 3 4
in HW2bis by (270 points)
retagged by
Ciao a tutti!

sto finendo Hw2bis esercizio 3, sembra che le funzioni di aggregazione funzionino bene e i dati calcolati vengano inseriti nelle caselle corrette.

Purtroppo su 2 file sto riscontrando un problema che non riesco a risolvere, le intestazioni di colonna calcolate in alcuni file non vengono messe nell'ordine giusto.

ci sono tutte le intestazioni che dovrebbero esserci ma alcune sono nell'ordine sbagliato. per fare l'ordinamento alfabetico ho usato il sort con la chiave str.

Preciso di avere implementato anche qualche riga di codice che effettuava una comparazione str() delle intestazioni di colonne e in seguito a questa comparazione l'ordinamento era ancora diverso cmq diverso da quello che dovrebbe essere il risultato.

ringrazio se qualcuno può darmi una risposta che possa aiutarmi a superare il problema.

Ho poi verificato che il risultato del sorting è diverso se si usa sort o sorted() con la stessa chiave, il che mi sembra assurdo, il risultato in entrambi i casi non è quello richiesto dall'esercizio.
grazie
986 views

1 Answer

andrea.sterbini (207920 points)
750 1267 2373
by (208k points)
Se consegni posso darci un'occhiata.

ordini la stringa ottenuta concatenando le tuple oppure prima ordini la lista di tuple e poi crei le stringhe? vedi che dice l'esercizio
f
flattak (270 points)
2 3 4
by (270 points)
Veramente professore utilizzo l'indicizzazione per trovare la riga e la colonna nella quale il dato va inserito (tanto si tratta di combinazioni uniche) pertanto lascio le intestazioni di riga e di colonna del tipo in cui sono state trasformate al momento della lettura del file secondo quanto indicato nel file stesso.

Poi trasformo tutto in string solo al momento di scrivere il file! pensavo che usando il sort con chiave str provvedesse pythone a ordinare come se fosse una stringa. D'altra parte l'ordinamento con questo sistema nella maggior parte dei file viene corretto.

Nel mio programma se trasformo in string le intestazioni di riga e di colonna poi quando il programma va ad inserire i dati non trova la riga o la colonna nella quale il dato deve essere inserito.
andrea.sterbini (207920 points)
750 1267 2373
by (208k points)
Le intestazioni di riga/colonna vanno ordinate prima di essere concatenate (se ricordo bene). Se prima le concateni e poi le ordini ottieni un ordine diverso.
f
flattak (270 points)
2 3 4
by (270 points)
si grazie professore, infatti il programma ordina prima di concatenare!