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.

Possibile problema con la VM?

C
CristopherCerasuoli (300 points)
1 2 4
in HW4 by (300 points)

Buongiorno. Stamattina consegnai la prima volta la mia soluzione dell'homework 4, e sulla mia macchina tutti i test passavano, ma il test 10 andava in timeout. Adesso ho consegnato una versione mgiliorata della soluzione, che sulla mia macchina passa tutti i test e li fa con un tempo significativamente migliore, ma sulla VM dove vengono eseguiti i test consegnati, il risultato non ha senso. Non passa nessun test, e la stringa in input alla funzione che traduce i brani (unica funzione che fa crashare tutti i test) è completamente insensata, perché sembra come avere il valore intermedio della mia funzione. La mia funzione è composta da due parti, che non spiegherò in dettaglio per evitare di violare il regolamento, ma la prima mi colleziona in qualche modo i token CORRETTI a partire dalla stringa in input (quella con numeri e +/-) mentre la seconda aggiunge i numeri per le ripetizioni. la stringa in input si chiama to_rewrite, e, nel log della vm, risulta che:

to_rewrite = 'DPG#PAPF#BPE#PG#PCPCbPCbBB#BGbCbDAPEPA#D#PFPAPCPCPAbGbC#AG#FPFPB#PFPD#BbPADB#P'

Che non ha il minimo senso. Ripeto, questa è la stringa che la funzione riceve in input. Non è neppure l'output corretto. Non ha alcun senso. Sto sbagliando qualcosa io? ma credo proprio di no, visto che da me i test passano tutti, anche il test10. Potrebbe essere un problema con la VM?

1 Answer

AL1990 (28120 points)
3 6 142
by (28.1k points)
to_rewrite dovrebbe quindi contenere la stringa con numeri e+/-?

riutilizzi la stessa variabile anche successivamente?
C
CristopherCerasuoli (300 points)
1 2 4
by (300 points)
alla prima domanda, si

alla seconda, ovviamente no
AL1990 (28120 points)
3 6 142
by (28.1k points)
in effetti non sembra aver senso, bisogna aspettare un riscontro dal professore
andrea.sterbini (208020 points)
756 1270 2377
by (208k points)

Mi ero dimenticato di aggiungere un paio di controlli

  • solo i file giusti possono essere aperti in lettura o in scrittura
  • la funzione os.chdir è proibita
Provvedo ad implementarli e poi rifarò partire la VM ed i test
C
CristopherCerasuoli (300 points)
1 2 4
by (300 points)
Mi perdoni, ma non colgo il punto (1). per il punto (2), non uso nessuna tale funzione.
andrea.sterbini (208020 points)
756 1270 2377
by (208k points)
il punto 1 è per segnalare se uno sta sbagliando a costruire i path dei file da leggere o da scrivere (e inoltre per evitare danni per errori)

il punto 2 perchè spostandosi di directory il sistema di test sbaglia i test seguenti o fa danni