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

Do you need help?

Notice Board

Per partecipare al corso di Fondamenti di programmazione 2023-24 loggatevi e attivatelo nella vostra pagina dei corsi preferiti. A quel punto il corso appare nel menù personale cliccando sul proprio avatar. Per i materiali degli anni precedenti seguite lo stesso metodo.

To join the Programming/Lab 2023-24 course, log-on and select it on the my courses page. It will appear on the personal menu of your avatar. For earlier years use the same method.

dubbio encoding del file/lettere accentate

j
j.criacci (400 points)
3 6 11
in Es1 by (400 points)
closed by
Una volta trasformato il file in una lista di stringhe quando stampo suddette stringhe le lettere accentate sono sbagliate( la "è" la stampa "è").
Non ho ben capito se sono io a dover decodare le stringhe o se comunque non si deve far caso alle lettere accentate
623 views
closed with the note: answered

2 Answers

Luca T. (5410 points)
3 20 38
by (5.4k points)
Quando apri il file devi aggiungere l'encoding corretto, che è specificato nella consegna. Oltre al percorso, devi passare come argomento encoding = 'utf-8' alla funzione open.
j
j.criacci (400 points)
3 6 11
by (400 points)
io avevo dato un occhiata alla funzione di encode delle stringe e non ero riuscito a capirla/farla funzionare ma mi ero perso fosse possibile metterlo come parametro nell' open, grazie mille
Auron (15880 points)
50 126 194
by (15.9k points)

Quoto Luca T.,
quando utilizzerai la open, questa sarà nel formato: open ( nomefile , modalitàlettura , encoding )

Spero di essere riusciti ad aiutarti :)

andrea.sterbini (207920 points)
750 1267 2373
by (208k points)
sono parametri che è meglio dare per chiave, se li usi in modo posizionale devi stare attento che c'è anche il parametro buffering
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
Auron (15880 points)
50 126 194
by (15.9k points)
Per chiave? Ovvero?
Io nel mio programma (tutti ok) ho aperto un open passando per argomenti (fposts,"r",encoding="utf-8")... E non mi dà problemi... Possibile che il fatto di specificare 'encoding=' esuli dal dovere di lasciare lo spazio per il buffering?
Luca T. (5410 points)
3 20 38
by (5.4k points)
Per chiave significa che, quando passi 'utf-8' come encoding, spefichi encoding = 'utf-8' e non scrivi solo il tipo di encoding. Se non specificassi che utf-8 è l'encoding, nel tuo caso, 'utf-8' verrebbe passato a buffering.
Auron (15880 points)
50 126 194
by (15.9k points)
Aaah no no certo, così ho fatto, come scritto nel commento di risposta al prof... Intendevo dire che nella sintassi che ho postato dentro "encoding" ci andava "encoding='utf-8'", era una sintassi generica, ma probabilmente ho dato per scontato che fosse comprensibile :)