[AVVISO] Homework 1 - manipolazione di stringhe, lampadine e voti

andrea.sterbini (172780 points)
513 935 1789
asked Oct 17, 2018 in Avvisi by andrea.sterbini (172,780 points)
closed Nov 23, 2018 by andrea.sterbini

Istruzioni

ATTENZIONE: HO AGGIUNTO I TEST "SEGRETI"

Per svolgere l'homework:

  • Installate le librerie necessarie
    • Se avete installato Anaconda aprite una finestra "Anaconda Prompt" ed eseguite i comandi
      • conda install -c conda-forge ddt
      • conda install pytest-timeout
    • Se invece usate python3 senza Anaconda
      • pip install ddt
      • pip install pytest-timeout
  • Scaricate il file homework01.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 homework01 creata unzippando l'archivio ed editate i file program01.py program02.py program03.py
  • Scrivete una descrizione in italiano (o inglese) dell'algoritmo che state implementando in un file di testo algoritmo0X.txt per ciascun esercizio
    • E' assolutamente VIETATO metterci codice python o descrizioni a livello di singola istruzione, dovete descrivere il RAGIONAMENTO
    • La descrizione deve essere ANONIMA (non indicate chi siete, plis)
  • ATTENZIONE: i programmi NON DEVONO eseguire nessun input(), infatti ricevono tutte le informazioni di cui hanno bisogno tamite i parametri della funzione che dovete completare.
  • ATTENZIONE: potete usare SOLO la libreria math
  • ATTENZIONE: non usate variabili globali, ne possono venire malfunzionamenti difficili da debuggare.
  • ATTENZIONE: per semplicità di costruzione abbiamo usato dei test "periodici" che replicano un input piccolo più volte. NON sfruttate questa struttura nei vostri algoritmi. Aggiungerò dei test non periodici per penalizzare questo tipo di soluzioni.
  • Per eseguire i test
    • aprite una finestra "Anaconda Prompt" e posizionatevi nella directory homework01
    • 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 chi usa Spyder è possibile eseguire i test direttamente da dentro Spyder installando il plugin spyder-unittest
      • conda install -c spyder-ide spyder-unittest
    • oppure per chi non usa Anaconda
      • pip install spyder-unittest

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

Consegna

Ecco la pagina di consegna. I test automatici ancora non ci sono, appena posso li attivo (per il momento li lancerò io a mano ogni tanto)

Scadenze

  • prima consegna (algoritmo0X.txt e program0X.py) entro le ore 23:59 del 31 ottobre 2018
    • potete consegnare più volte, vale l'ultima consegna
    • se cambiate in qualche modo l'algoritmo aggiornate anche il file algoritmo0X.txt
  • SOLO per chi ha consegnato:
    • peer-assessment: 3 giorni dalle 8AM del 1 novembre 2018 alle 23:59 del 3 novembre 2018
      • 3 algoritmi da valutare per ciascun esercizio, dando consigli su come migliorarli
  • SOLO per chi ha partecipato al peer-assessment:
    • seconda consegna migliorata e feedback sui consigli ricevuti: entro le ore 23:59 del 6 novembre 2018
11,163 views
closed with note: COMPRESO DI TEST "SEGRETI"

4 Answers

Valerio (300 points)
0 0 3
answered Oct 17, 2018 by Valerio (300 points)
Nel testo del program01 alla fine accenna alla funzione es2, ma mi sembra più un errore di battitura, giusto?
andrea.sterbini (172780 points)
513 935 1789
commented Oct 17, 2018 by andrea.sterbini (172,780 points)
yeah                              .
Valerio (300 points)
0 0 3
commented Oct 17, 2018 by Valerio (300 points)
Grazie                              
a
alessandrobasi (790 points)
0 4 10
answered Oct 17, 2018 by alessandrobasi (790 points)
nell'esercizio programm01.py chiede l'immissione di un valore "soglia" per vedere gli studenti che passano,

bisogna usare un input o dobbiamo passarlo come parametro alla funzione?

e anche: bisogna verificare l'idoneità del parametro? (es. troppo grande o negativo)
andrea.sterbini (172780 points)
513 935 1789
commented Oct 17, 2018 by andrea.sterbini (172,780 points)
Non dovete eseguire NESSUN input. I dati che vi servono vi vengono forniti dagli argomenti della funzione.
a
alessandrobasi (790 points)
0 4 10
commented Oct 17, 2018 by alessandrobasi (790 points)
ok grazie mille

per la validazione?
andrea.sterbini (172780 points)
513 935 1789
commented Oct 17, 2018 by andrea.sterbini (172,780 points)
edited Oct 17, 2018 by andrea.sterbini
i dati sono sempre corretti
answered Oct 17, 2018 by Paul (980 points)
Scusate ma non ho capito quando è la data di consegna il 31 ottobre oppure il 6 novembre ?
andrea.sterbini (172780 points)
513 935 1789
commented Oct 17, 2018 by andrea.sterbini (172,780 points)
rileggi le regole del corso
a
ares.angeloni (1060 points)
3 24 37
answered Oct 17, 2018 by ares.angeloni (1,060 points)
da quando ho installato i due blocchi richiesti, né anaconda né il terminale si aprono più .-.
andrea.sterbini (172780 points)
513 935 1789
commented Oct 17, 2018 by andrea.sterbini (172,780 points)
Venerdì a lezione se puoi porta il portatile che controllo.
a
ares.angeloni (1060 points)
3 24 37
commented Oct 17, 2018 by ares.angeloni (1,060 points)
infatti li ho installati nel root di anaconda, il terminale nero che apre di base, e li ha installati. il mio problema è che da quel momento in poi, ne spyder ne anaconda vengono aperti quando li lancio; non so se mi spiego
a
ares.angeloni (1060 points)
3 24 37
commented Oct 17, 2018 by ares.angeloni (1,060 points)
il "portatile" è un fisso atx da gaming, e non possiedo un portatile
andrea.sterbini (172780 points)
513 935 1789
commented Oct 17, 2018 by andrea.sterbini (172,780 points)
(speravo fosse un portatile)
hai eseguito le istruzioni come indicate?
Ti hanno chiesto dopo in po' se volevi installare ed hai detto Y?
Strano che ora non funzioni (sicuramente hai restartato il PC, immagino)
e
enricograziani (1190 points)
0 13 27
commented Oct 18, 2018 by enricograziani (1,190 points)
stesso problema anche io
l
lupodellasleppa (530 points)
0 2 6
commented Oct 18, 2018 by lupodellasleppa (530 points)
hai provato a dare dalla stessa finestra

conda update --all

certe volte aggiornando si risolve da solo (y) anche a me non apriva Spyder appena avevo installato Anaconda, dopo l'update tutto regolare
andrea.sterbini (172780 points)
513 935 1789
commented Oct 18, 2018 by andrea.sterbini (172,780 points)
Stavo per suggerire lo stesso.
Aggiungo una pagina di info sulle istallazioni
m
matia plateroti (1600 points)
0 12 23
commented Oct 18, 2018 by matia plateroti (1,600 points)
prof suggerirei,se posso permettermi,anche,al momento dell installazione del pacchetto anaconda,di selezionare la scelta 'just for me' e non 'all users' ,purtroppo quest ultima scelta crea a volte delle problematiche nell installazione di alcuni pacchetti aggiuntivi(ci sono passato e leggendo in vari forum sembra capitare spesso)
andrea.sterbini (172780 points)
513 935 1789
commented Oct 18, 2018 by andrea.sterbini (172,780 points)
OK                                      .