LABORATORIO DI PYTHON

Prima lezione

Ripasso basi di informatica:

Se hai qualche problema con le conoscenze di base, i seguenti manuali potranno esserti d’aiuto:

Argomenti trattati:

  • Nozioni base di programmazione:
    -La macchina di Von Neumann.
    -La programmazione software ed i linguaggi.
    -I Sistemi Operativi.
  • Che cos’è Python:
    -Python e l’interprete, introduzione.
    -Installazione interprete e strumenti per lo sviluppo del codice.
    -Versioni e Documentazione ufficiale.
    -Interprete Interattivo.
  • Tipi primitivi ed operatori:
    -Tipi Numerici.
    -Operatori logici ed aritmetici.
    -Tipo Stringa.
    -Tipo Lista.
    -Accesso ad elementi e slicing.
  • Costrutti di deviazione del flusso d’esecuzione:
    -Costrutto: if-else.

Materiale didattico:

Esercitazioni in classe:

    • Definire una lista contenente 4 liste annidante, una dentro l’altra, ed accedere al contenuto di ognuna, utilizzando l’operatore di accesso: [  ]. Ogni lista, oltre le rispettive liste annidate, dovrà contenere anche altri oggetti dei vari tipi illustrati a lezione (Stringa, Float, Int, Boolean, ecc.).

Soluzione:
>>> l = [1,2,["ciao",[[True,False],[["ECCOMI!!!","True","I lu 3000"],"Ci sono quasi"]]]]
>>> # Accedo a lista 1
...
>>> l
[1, 2, ['ciao', [[True, False], [['ECCOMI!!!', 'True', 'I lu 3000'], 'Ci sono quasi']]]]
>>> # Accedo a lista 2
...
>>> l[2]
['ciao', [[True, False], [['ECCOMI!!!', 'True', 'I lu 3000'], 'Ci sono quasi']]]
>>> # Accedo a liste 3 e 4
...
>>> l[2][1][1]
[['ECCOMI!!!', 'True', 'I lu 3000'], 'Ci sono quasi']
>>> # Accedo a lista 5
...
>>> l[2][1][1][0]
['ECCOMI!!!', 'True', 'I lu 3000']

  • Scrivere un programma, utilizzando l’interprete interattivo, che definisca una rubrica telefonica
    e che ne controlli la presenza di ALMENO un contatto telefonico.Se quest’ultima dovesse contenere almeno un contatto, il programma dovrà stampare le informazioni del primo.
    In caso contrario, il programma dovrà stampare la stringa: “Rubrica vuota.”Una Rubrica telefonica deve poter contenere UNO O PIU’ CONTATTI.
    Ogni contatto contiene le seguenti informazioni:
    – Nome (una stringa),
    – Cognome (una stringa),
    – Numero di Telefono (una stringa)

Soluzione:
>>> rub = [["Davide","Davidi","123456"],["Pippo","Pan","7891011"]]
>>> if rub: print("Nome: ",rub[0][0],"\nCognome: ",rub[0][1],"\nNumero: ",rub[0][2])
... else: print("Rubrica vuota.")
Nome:  Davide
Cognome:  Davidi
Numero:  123456

Consigli:

  • Utilizzare un editor di testo semplice, per lo svolgimento delle esercitazioni(per prendere dimestichezza con l’interprete a riga di comando).
  • Sfruttare la modalità interattiva per testare nuovi costrutti o blocchi di codice, prima d’integrarli all’interno di un programma.
  • Documentarsi bene sul funzionamento o sul contesto d’utilizzo di un costrutto o di un tipo di dato sconosciuto.
  • Utilizzare nomi per i simboli di costanti e variabili, che ne evochino la semantica ed il motivo d’impiego all’interno del programma, in modo tale che possa essere più semplice, per i lettori del codice, capirne la logica.
  • Durante l’utilizzo del costrutto: If-elif-else, valutare bene quali condizioni è opportuno correlare fra loro(per mezzo di una elif o else), e quali mantenere separate(ramo if separato).
  • Oltre a definire il linguaggio, i creatori di Python hanno anche prodotto una documentazione che spiega come bisognerebbe organizzare il codice, perché possa essere elegante e facilmente comprensibile:
    PEP 8 — Style Guide for Python Code

Esercizi per casa:

  • Terminare le esercitazioni svolte durante la lezione.
  • Creare una variante del programma sulla rubrica telefonica, che stampi un contatto differente dal primo, in caso di rubrica non vuota.

<<<  Vai all’ultima lezione     Vai alla 2° lezione  >>