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.

Carattere Non Identificato

LeonardoEmili (35740 points)
14 65 155
in Es3 by (35.7k points)
closed by

Buonasera ragazzi,

stavo ultimando il terzo esercizio quando mi imbatto in questo problema.

        error -> UnicodeEncodeError
        'charmap' codec can't encode character '\u25bc' in position 5339: character maps to <undefined>

Ci tengo a precisare che non ho modificato la codifica durante l'esecuzione del programma e che l'errore mi si presenta solo nel test 11, per un problema legato a questo carattere.

EDIT: Risolto. Si tratta di un problema legato all'ambiente di Windows, infatti il programma su ambiente Linux gira senza nessun problema :D

Qualcuno sa aiutarmi?
Grazie in anticipo.

Leonardo Emili

1.0k views
closed with the note: risolto

2 Answers

Best answer
split (8700 points)
21 59 79
by (8.7k points)
selected by
servirebbe qualche info in più...dove/come fai girare il programma? hai provato a farlo girare anche in ipython da "terminale"? ti da lo stesso problema?
LeonardoEmili (35740 points)
14 65 155
by (35.7k points)
Purtroppo sì, stesso problema
D
Domenicobrz (1470 points)
3 9 19
by (1.5k points)
È un problema di codifica unicode della funzione fparse, esiste una domanda già aperta nella sezione es.3 che spiega nel dettaglio il problema (che abbiamo tutti, non solo tu)
LeonardoEmili (35740 points)
14 65 155
by (35.7k points)
Gentilmente potresti linkare la discussione in merito che non l'ho trovata ?
D
Domenicobrz (1470 points)
3 9 19
by (1.5k points)
LeonardoEmili (35740 points)
14 65 155
by (35.7k points)
Sei sicuro sia lo stesso problema? Avevo letto questa domanda ma qui non riporta alcun errore, bensì è diverso l'output. Mentre a me si blocca la codifica in quanto non riesce a riconoscere quel dato carattere.
D
Domenicobrz (1470 points)
3 9 19
by (1.5k points)
Il grader mi da il tuo stesso errore, che si risolve nel mio caso seguendo questi passi
la funzione fparse() in my_html.py la cambio in questo modo:

import codecs
def fparse(fhtml):
    with codecs.open(fhtml, 'r', "utf-8") as f:
        root = parse(f.read())
        return root

E tramite  codecs.open(fileOut, "w", "utf-8")  salvo il file in uscita codificato in utf-8, in questo modo l'errore del grader si risolve, perchè abbiamo sia aperto che modificato il file tramite utf-8

Ovviamente non possiamo cambiare il file my_html quindi in teoria questa è solo una soluzione temporanea fin quando non si saprà meglio se aggiorneranno o meno i file dell'homework
D
Domenicobrz (1470 points)
3 9 19
by (1.5k points)
EDIT :  Il programma che avevo consegnato che dava lo stesso l'errore sulla codifica del test n°11, passa tutti i test della classifica. Probabilmente il problema non si presenta quando il programma viene testato dal prof
LeonardoEmili (35740 points)
14 65 155
by (35.7k points)
Innanzitutto ti ringrazio per la disponibilità. Purtroppo vengo ora dal provarlo.. ancora stesso errore
split (8700 points)
21 59 79
by (8.7k points)
potrebbe essere un problema di compatibilità win/linux? o qualcosa di simile? provalo su un linux se puoi e facci sapere
LeonardoEmili (35740 points)
14 65 155
by (35.7k points)
Esatto! Era proprio quello! Infatti ho provato a farlo girare su linux e non mi ha dato alcun problema. Evidentemente si tratta di un problema relativo a Windows e ai suoi codec. Grazie mille a tutti per la disponibilità
split (8700 points)
21 59 79
by (8.7k points)
linux 10000000000000 - winzozz 1    (quell'1 è probabilmente qualche videogioco)
andrea.sterbini (207940 points)
756 1270 2377
by (208k points)
Mi sono dimenticato di mettere l'encoding nelle open di my_html e della testlib, vedete se su windows (che non uso) questo risolve

Se è quello il problema aggiorno le librerie e le ripubblico
LeonardoEmili (35740 points)
14 65 155
by (35.7k points)
Ho già provato a metterlo nelle open, purtroppo non si è risolto. Ora provo a metterlo anche nella testlib e la aggiorno
LeonardoEmili (35740 points)
14 65 155
by (35.7k points)
Risolto. Bisognava mettere l'encoding in nelle open di testlib, my_html , nonché in quelle del program03.py.
andrea.sterbini (207940 points)
756 1270 2377
by (208k points)
A breve ripubblico lo zip dell'esercizio con le librerie aggiornate e con un bug in meno sul grader02 che data errori con timeit