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.

[H4.3] Problema grader : funzione elimina_nodi

P
PaolaFochetti (330 points)
0 4 8
in Es3 by (330 points)
closed by
salve sto avendo problemi nella funzione elimina_nodi del program03.

sono riuscita ad implementarla ricorsivamente senza fare ricorso al modulo my_html fornito dal professore. Unico problema è che quando vado ad eseguire il grader questo mi dice che il risultato è sbagliato, questo perchè: mentre la mia funzione elimina solo il nodo indicato dal selettore, mantenendo l'ordine originale del file, cioè mi restituisce questo risultato:

<html>
<body>
<h1 id="intestazione" class="header title p2">Un Semplice Documento</h1>
<p id="paragrafo1" class="par1">Un paragrafo con testo <em>enfatizzato</em> e <strong>molto enfatizzato</strong>.</p>
<p id="paragrafo2" class="par2">Un paragrafo con un link a <b>  </b> e un'immagine a seguire.</p>
<img src="photo.png" width="300" alt="Foto">
</body>
</html>

 la funzione del grader stravolge l'ordine, restituendo:

<html>
<body>
<h1 class="header title p2" id="intestazione">Un Semplice Documento</h1>
<p class="par1" id="paragrafo1">Un paragrafo con testo <em>enfatizzato</em> e <strong>molto enfatizzato</strong>.</p>
<p class="par2" id="paragrafo2">Un paragrafo con un link a <b>  </b> e un'immagine a seguire.</p>
<img alt="Foto" src="photo.png" width="300">
</body>
</html>

dove sto sbagliando, andava modificato anche l'ordine generale?
303 views
closed with the note: answered

1 Answer

andrea.sterbini (208020 points)
756 1270 2377
by (208k points)

Gli attributi di un tag sono un dizionario, e quindi l'ordine delle chiavi è non definito.

Per permettere di confrontare i tag generati confrontando direttamente i file è stato necessario ordinare gli attributi in un ordine stabile, quindi tutti i file risultato dei test  hanno gli attributi in ordine alfabetico crescente (anche se nel file originale non era così).

Questo è stato fatto nella ultima versione di my_html.py, quindi chi la usa non deve fare nulla, chi non la usa deve ordinare gli attributi.

P
PaolaFochetti (330 points)
0 4 8
by (330 points)
Grazie per il chiarimento.