ATTENZIONE
- Esercizio 1, nella descrizione c'è uno scambio, i valori corretti sono:
- la quarta componente della tupla e' il nome del vincitore della partita più corta lunga
- la quinta componente della tupla e' il nome del vincitore della partita più lunga corta
- IL TERZO ESERCIZIO È STATO AGGIUNTO
- AL SECONDO E TERZO ESERCIZIO VERRÀ AGGIUNTO QUALCHE TEST
- RICORDO CHE LE LIBRERIE AGGIUNTIVE SONO VIETATE
Istruzioni
Per svolgere l'homework:
- Installate le librerie necessarie
- Scaricate il file HW4bis.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
- i tre esercizi, che sono descritti all'inizio dei file program01.py program02.py program03.py
- Lo zip contiene
- Posizionatevi nella directory HW4bis 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
- if __name__ == '__main__':
- Per eseguire i test
- aprite una finestra "Anaconda Prompt" e posizionatevi nella directory HW4bis 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=8
Scadenze
- Questo homework scade subito prima dell'ultimo appello che faremo, a fine ottobre, non richiede il peer-assessment e non dà bonus.