[AVVISO] HOMEWORK 3 DI RECUPERO [COMPLETO E ZIP AGGIORNATO]

andrea.sterbini (167380 points)
487 897 1724
asked Jan 1, 2019 in Avvisi by andrea.sterbini (167,380 points)
edited Apr 1, 2019 by andrea.sterbini

ATTENZIONE

  • Esercizio 2:
    • BUG: Come spiegato qui, mi sono accorto che nelle immagini di riferimento dei test, alle funzioni disegnate mancano i pixel sulla riga 0 e sulla colonna più a destra. Lascio le immagini così, aggiustate il vostro codice.
  • Esercizio 3:
    • c'era una imprecisione nel test della funzione famiglia_allargata e dinasty, abbiamo aggiornato sia i test che tgot.json, riscaricatevi lo zip
    • come spiegato qui, il metodo Personaggio.parentela deve tornare sempre "nessuna" se i due personaggi NON HANNO NESSUNA casata in comune
    • Invece il metodo Personaggio.famiglia_allargata deve tornare anche i parenti diretti del personaggio e dei suoi compagn*
  • RICORDO CHE LE LIBRERIE AGGIUNTIVE SONO VIETATE
  • C'era un minuscolo baco in testlib.py , aggiornate lo zip

Istruzioni

Per svolgere l'homework:

  • Installate le librerie necessarie
  • Scaricate il file HW3bis.zip e scompattatelo in una directory
    • Lo zip contiene
      • i tre esercizi, che sono descritti all'inizio dei file program01.py program02.py program03.py
        • ciascun esercizio consiste nel realizzare, se necessario definendo funzioni ausiliarie, la funzione descritta all'inizio del file, completandone il codice
      • altre librerie necessarie ad eseguire i test sulla vostra macchina
  • Posizionatevi nella directory HW3bis creata unzippando l'archivio ed editate i file program01.py program02.py program03.py
  • ATTENZIONE: i programmi NON DEVONO eseguire nessun input() o print(), infatti ricevono tutte le informazioni di cui hanno bisogno tramite i parametri della funzione che dovete completare e tornano il risultato con return.
  • ATTENZIONE: SONO VIETATE le variabili globali.
  • ATTENZIONE: SONO VIETATE tutte le librerie a parte quelle già presenti nel testo.
  • ATTENZIONE: i vostri programmi NON DEVONO sfruttare eventuali periodicità o caratteristiche strutturali degli input, ma devono essere applicabili a qualsiasi input valido.
  • ATTENZIONE: NON LASCIATE ISTRUZIONI DI TEST NEL PROGRAMMA, A MENO CHE NON SIANO DOPO UNA RIGA
    • if __name__ == '__main__':
      • vostre istruzioni di test che in questo modo non vengono eseguite durante l'import del file
  • Per eseguire i test
    • aprite una finestra "Anaconda Prompt" e posizionatevi nella directory HW3bis ottenuta scompattando lo zip
    • eseguite il comando (test senza timeout)
      • pytest test_01.py -v
    • oppure (test del primo esercizio con timeout di 1 secondo per ciascun test e con una stampa dei tempi impiegati per eseguire ciascun test)
      • pytest test_01.py -v --timeout 1 --durations 0
    • Per far fermare i test al primo errore aggiungete l'opzione -x
    • Per chi usa Spyder è possibile eseguire i test direttamente da dentro Spyder installando il plugin spyder-unittest (ma senza timeout o parametri aggiuntivi)

NOTA: per aprire i file di testo in formato utf8 NON usate Notepad che non riconosce gli accapi Unix ('\n') ma usate Spyder, Notepad++ oppure WordPad

Consegna

Per la consegna dovrete consegnare per ciascun esercizio (for X in [1, 2, 3]: ) solo il file program0X.py

La pagina di consegna è https://q2a.di.uniroma1.it/homeworks/delivery?homework=7

Scadenze

  • Questo homework scade subito prima dell'ultimo appello che faremo, a fine ottobre, non richiede il peer-assessment e non dà bonus.

Please log in or register to answer this question.