Sono arrivato al punto in cui il mio ultimo problema è dover aumentare l'efficienza del programma perché ci sono 5 test che non passano il timeout. Per il test più lento il programma impiega circa 30 ms in più sopra la soglia dei 100 del timeout e dal profiler ho notato che il problema principale sembra essere che la funzione con cui "traduco" il file di test.
Ciò che faccio è aprire il file di testo con encoding utf-8, creare una lista vuota, usare un for per scorrere tutti i versi e poi uso replace per gli spazi, lower per le maiuscole, e maketrans e translate per gli accenti e i simboli. Poi inserisco ogni verso nella lista e ricomincio il ciclo.
C'è qualcosa che posso fare per ottimizzare? O magari qualche consiglio generale per far sì che il test non vada in timeout? Ho provato a mettere come condizione verso.isalnum() e togliere i caratteri non alfanumerici ed ho notato che era davvero efficiente ma purtroppo gli accenti rimangono.
Ciò che faccio è aprire il file di testo con encoding utf-8, creare una lista vuota, usare un for per scorrere tutti i versi e poi uso replace per gli spazi, lower per le maiuscole, e maketrans e translate per gli accenti e i simboli. Poi inserisco ogni verso nella lista e ricomincio il ciclo.
C'è qualcosa che posso fare per ottimizzare? O magari qualche consiglio generale per far sì che il test non vada in timeout? Ho provato a mettere come condizione verso.isalnum() e togliere i caratteri non alfanumerici ed ho notato che era davvero efficiente ma purtroppo gli accenti rimangono.