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.

HW4 recupero, Problema con studenti_brillanti()

V
Vinz (500 points)
2 2 4
in HW4 by (500 points)

Spero di Aver scelto la Sezione Giusta per porre la mia Domanda.
Sto avendo problemi con L'HW di Recupero numero 4.
In breve non riesco a capire dove io stia sbagliando.. siccome nel Momento in cui vado a Mettere in ordine Decrescente le mie Matricole in Base al voto.. il risultato che ottengo eseguendo il mio programma è diverso da quello atteso nei test.


Provo ad esprimere nel modo più chiaro possibile cosa ho capito di dover fare. 
-Inizialmente confronto Il voto delle due matricole(31.0 == 31.0). Se Uguale.. confronto l'ordine Lessico Grafico dei Cognomi e Nomi delle due Matricole.. ad Esempio (cognome_Matricola1 = "De Marco") ,(cognome_Matricola2 = "Hamel").. nei Test Matricola1 viene prima di Matricola2. Quindi a parità di Voto, Matricola1 dovrebbe avere il Cognome Maggiore rispetto al Cognome di Matricola2. Ma quando vado a testare nella Console se "De Marco">"Hamel" >>>False.
Quindi sono sicuro di stare sbagliano qualcosa.. Probabilmente ho inteso male il significato di Ordine Lessico Grafico. Vorrei capire qualcosina in più.

Chiedo scusa se ho disturbato durante le festività. Vi auguro un Felice Natale. 
Grazie in anticipo a chiunque mi Aiuti a risolvere questo problemino.

716 views

4 Answers

Matypist (5370 points)
11 16 45
by (5.4k points)
edited by


Non conosco i dettagli dell'Homework 4 di recupero perché non l'ho ancora affrontato, non so se possa entrarci con il tuo problema ma assicurati di aver letto questa nota aggiunta dal professore nella pagina dell'HW:


Come notato in https://q2a.di.uniroma1.it/24359 , il cognome e nome del teacher devono essere scambiati nel metodo print_exam_record


P.S: La sottosezione giusta di Homework per l'HW4 di recupero non esiste a quanto pare, ci sono soltanto quelle per gli HW opzionali e per gli HW obbligatori, quindi per il momento penso vada bene questa

EDIT: un moderatore di Q2A ha rinominato le sottosezioni del tipo "HWx obbligatorio" in semplicemente "HWx", quindi quella da te selezionata si conferma la sottosezione corretta

 

V
Vinz (500 points)
2 2 4
by (500 points)
Perfetto. ti ringrazio allora per tua disponibilità. Proverò a fare questo scambio e vediamo cosa succede..
Memoli (2410 points)
0 0 19
by (2.4k points)
Premetto che non ho ancora eseguito l'hw4 di recupero, forse può esserti d'aiuto questa osservazione...

Nota che l'interprete Python quando deve andare a verificare condizioni come "è maggiore di" o "è minore di" tra stringhe, prende in considerazione il valore sulla tabella unicode dei caratteri. Nell'esempio che hai riportato, "De Marco" risulta giustamente minore di "Hamel", perché i caratteri iniziali si codificano rispettivamente in 68 e 72, puoi verificarlo con ord('D') e ord('H').

Spero ti sia utile.
Loriv3 (7970 points)
13 21 84
by (8.0k points)
Cambiando il > con un < la condizione darà True in quanto D ha un valore minore di H
V
Vinz (500 points)
2 2 4
by (500 points)
Si ma 'DeMarco' Deve stare prima di 'Hamel'.. scambiare > con < non mi risolve il problema.
Giuseppe B. (4530 points)
0 0 8
by (4.5k points)
io ho risolto confrontando prima per voto, poi per nome e in caso di nome uguale confronto per matricola in ordine crescente. In questo modo risolvo il caso che c'è nel 'large' in cui ci sono quei due nomi uguali
V
Vinz (500 points)
2 2 4
by (500 points)
Faccio la stessa cosa io.. Però subito dopo il Nome confronto anche il cognome. Quindi in caso di Nome Uguale, confronto il Cognome. Ma comunque non risolvo il Problema.
angelo.spognardi (8170 points)
75 155 224
by (8.2k points)

Vinz, se leggi bene il testo della richiesta della funzione, vedrai: "lista delle matricole... ordinate in modo decrescente per media e, in caso di parità, in ordine lessicografico (ovvero A, B, C, ..., Z) per il cognome e il nome dello studente. In caso di ulteriore parità, si usi il valore numerico dello stud_code in ordine crescente.

Quindi, a parità di media, 'De Marco' viene prima di 'Hamel' proprio perché 'De Marco' < 'Hamel'. Il nome va usato solo in caso di parità di Cognome.

Spero sia più chiaro.