top of page

LINGUAGGIO E AMBIENTE

a cura di Tommaso Bonetti

Introduzione

SETUP DELL'AMBIENTE

Per quanto riguarda l’ambiente di sviluppo, hai due scelte: puoi decidere di installarlo sul tuo computer oppure puoi utilizzare un compilatore online, che ti permette di saltare il processo di installazione sul tuo dispositivo.

 

Di seguito trovi le istruzioni per entrambi i casi.

Compilatore online (consigliato)

Per fare i tuoi primi passi con il linguaggio Python ti consigliamo di usare il compilatore online di Replit.com: è intuitivo e lo abbiamo usato anche noi come base per gli esercizi che troverai in questa e nelle prossime lezioni.

 

Per prima cosa dovrai effettuare il login, totalmente gratuito, sulla piattaforma, una procedura che richiede non più di 5 minuti. Ti verrà richiesto di indicare i linguaggi di programmazione a cui sei interessato: tra le opzioni, seleziona Python.

Una volta completata l’iscrizione ti troverai sulla tua home. Nella colonna sulla sinistra troverai un menu: in questo menu clicca su “New repl” per creare il tuo primo progetto. Ricorda di selezionare il linguaggio Python e di rinominare il progetto con un nome riconoscibile, così da poterlo trovare in futuro.

Il progetto è diviso in tre sezioni verticali.

La prima contiene i vari file che lo costituiscono: per i progetti che affronterai nelle prossime lezioni vedrai solo un file chiamato main.py.

Nella sezione centrale è possibile scrivere e modificare il codice del file main.py.

La terza e ultima sezione serve per mostrare l’output del tuo codice, come vedrai tra poco.

Installazione in locale

Se vuoi lavorare in locale, il primo passo è installare Python sul tuo computer.

Qui sotto troverai i link per scaricare l’ultima versione di Python: clicca su quello relativo al tuo sistema operativo. Una volta scaricato l’installer, eseguilo facendo doppio clic e poi segui le istruzioni qui sotto.

  1. Nella prima finestra dell’installer clicca su “Installa ora”, non è necessario aggiungere delle impostazioni personalizzate.
    Attenzione: per eseguire l’installazione è necessario che il tuo utente abbia i privilegi di amministratore del computer

     

  2. Nella finestra successiva Windows ti chiederà il consenso a installare Python: clicca su per procedere. L’installazione procederà automaticamente: al termine una schermata ti confermerà il completamento dell'operazione
     

  3. Una volta completata l’installazione apri Idle. Se non lo trovi, apri la ricerca (usa Win+S su Windows o Cmd+spazio su Mac) e digita “Idle”
     

  4. Ora ti trovi in Idle. Per scrivere il tuo programma, apri il menu “File” dalla barra dei menu e clicca su “Nuovo”. Si aprirà una nuova finestra, ma non chiudere quella precedente: servirà più tardi. Quando vuoi eseguire il tuo codice, salva il file (File > Salva oppure Ctrl+S / Cmd+S) e clicca F5 per eseguirlo: se il tuo programma genera output, verrà visualizzato nella prima schermata di Idle

Ora che hai finito il setup, puoi scrivere le tue prime righe di codice!

PRIMI CONCETTI DI PYTHON

Output

Il programma deve essere in grado di interagire con l’utente: iniziamo quindi dall’output, ovvero ciò che comunicherai all’utente. Usa la funzione print(), scrivendo all’interno delle parentesi e tra virgolette quello che vuoi mostrare all’utente.

 

Prova tu! Qui sotto trovi un programma di esempio, che dovrai completare scrivendo print(“Hello world!”) e poi eseguire cliccando sul triangolo verde: osserva cosa succede. Sperimenta anche con altre parole e frasi (che d’ora in poi chiameremo stringhe): ricordati solo di scrivere tutto tra virgolette!

Attenzione: quella che vedi qui sotto è solo un'anteprima del codice. Per risolvere questo e tutti gli altri esercizi:

  1. clicca sul pulsante "Modifica il codice";

  2. ti troverai davanti una pagina con il codice che vedi in anteprima: clicca sul pulsante blu "Fork" che trovi appena sopra il codice, sulla destra;

  3. se non l'hai già fatto, effettua il login a Replit.com;

  4. adesso hai la tua copia del codice che puoi modificare ed eseguire!

Attenzione!

Quella che vedi qui sotto è solo un'anteprima del codice.

Per risolvere questo e tutti gli altri esercizi:

  1. clicca sul pulsante "Modifica il codice";

  2. ti troverai davanti una pagina con il codice che vedi in anteprima: clicca sul pulsante blu "Fork" che trovi appena sopra il codice, sulla destra;

  3. se non l'hai già fatto, effettua il login a Replit.com;

  4. adesso hai la tua copia del codice che puoi modificare ed eseguire!

1   print("Hello world!")

Un’ultima cosa: è possibile concatenare più stringhe in una stringa unica con un semplice segno +Ad esempio, print(“Hello world!”) avrà lo stesso output di print(“Hello ” + “world!”).

Prova tu: qui sopra, modifica il codice per visualizzare la stringa “Hello [il tuo nome]!”.

Variabili e aritmetica

Hai imparato a parlare con l’utente: complimenti! Hai appena fatto il primo passo. Ora, però, puoi scrivere un programma che faccia qualcosa in più oltre che salutare.

 

In Python, e nella programmazione in generale, scriveremo programmi che usano dati che possono cambiare nel tempo. I dati possono rappresentare tantissime cose: il titolo di un film, la posizione di un aereo, la data di oggi. Ciò che accomuna questi dati è che non sono fissi e possono cambiare. Per definire dati che variano nel tempo, Python usa delle variabili.


Ogni variabile ha un nome e un valore e, prima di essere utilizzata, deve essere dichiarata. Supponi di voler dichiarare una variabile x che contenga il numero 5: per farlo scrivi x = 5. La variabile x potrà essere modificata più avanti nel programma e potrai utilizzarla ogni volta che ti servirà il valore che contiene. Allo stesso modo puoi scrivere y = “ciao” per dichiarare una variabile y che contiene la stringa “ciao”.

Effettuare operazioni aritmetiche in Python è estremamente semplice: se vuoi calcolare il risultato di 3+2, scrivi semplicemente somma = 3 + 2. Questa istruzione assegna il risultato alla variabile somma, che potrai riutilizzare più avanti. Allo stesso modo puoi effettuare le altre operazioni aritmetiche, con i seguenti operatori: - per la sottrazione, * per la moltiplicazione, / per la divisione e ** per l’elevamento a potenza (base**esponente).

Attenzione! L’operatore / effettua sempre una divisione reale, ma in alcuni casi potrebbe tornare utile effettuare una divisione intera, che si esprime con l'operatore //. Una divisione intera dà come risultato un numero intero, il quoziente: ad esempio 15 // 2 darà come risultato 7 e non 7,5.

Esiste anche un operatore complementare: il modulo % (si legge “mod”), che dà come risultato il resto della divisione intera tra i due operandi, per cui 15 % 2 darà come risultato 1. Infatti, 15 // 2 risulta 7 con resto 1.

 

Oltre che sui numeri puri, puoi eseguire queste operazioni anche sulle variabili: ad esempio, se hai due variabili fattore1 = 3 e fattore2 = 5 puoi calcolare la somma con

prodotto = fattore1 + fattore2.


Ora che sai cos’è una variabile e sai come effettuare le operazioni di base, puoi scrivere un programma semplice: a partire dalle variabili fette_di_pizza e persone calcola quante fette potrà mangiare ognuno e quante fette avanzeranno. La prime righe di codice sono già scritte, ora completa il resto sostituendo i puntini, poi clicca sul triangolo verde e controlla il risultato!

Suggerimento: per calcolare le fette che avanzano prova a usare %!

1   fette_di_pizza = 8

2   persone = 3

3

4   fette_a_persona = fette_di_pizza / persone

5   fette_avanzate = fette_di_pizza % persone

6

7   print(fette_a_persona)

8   print(fette_avanzate)

Attenzione!

Avrai notato che nell’ultima riga è scritto print(fette_avanzate): infatti, oltre alle stringhe, anche le variabili possono essere visualizzate con print(), scrivendo il loro nome tra le parentesi, questa volta senza le virgolette.

Come dicevamo prima, le variabili servono per memorizzare dati che possono cambiare: prova a sfruttare questa potenzialità. Nel programma qui sotto, ipotizziamo che Luca e Francesca condividano una pizza: aggiorna la variabile fette_di_pizza con il numero di fette rimaste per Francesca dopo che Luca ha mangiato.

Completa il codice, eseguilo e controlla il risultato!

1   fette_di_pizza = 8

2

3   print("Luca mangia...")

4   fette_mangiate = 2

5

6   fette_di_pizza = fette_di_pizza - fette_mangiate

7

8   print("Fette di pizza rimaste: " + str(fette_di_pizza))

Attenzione!

 

Esistono un paio di scorciatoie per effettuare alcune operazioni aritmetiche.

La prima: per aggiungere il valore di una variabile o un numero puro al valore di un’altra variabile x già definita, l'istruzione x = x + y può essere contratta in x += y (lo stesso vale per gli operatori -, *, /, ** e %). Nell’esempio qui sopra, quindi, l’istruzione alla riga 6 può essere sostituita con fette_di_pizza -= fette_mangiate.

La seconda: per incrementare di 1 una variabile contenente un numero, puoi usare l'istruzione x++ (analogamente, puoi usare x-- per decrementarla di 1).

Numeri interi e reali

Hai imparato che una variabile in Python può contenere tantissimi tipi di dati, numeri compresi: è però necessario fare una distinzione tra numeri interi e numeri reali. Infatti, come hai visto poco fa, la divisione tra due numeri interi dà come risultato il quoziente, cioè un numero intero. E se invece volessimo il quoziente decimale? In tal caso, è necessario che almeno uno tra dividendo e divisore sia un numero reale.

 

In Python, i numeri interi vengono chiamati int e i numeri reali vengono chiamati float.

Una variabile di tipo float, ad esempio, può essere pi = 3.14 oppure, utilizzando la notazione scientifica,

num = -1.05e2 (cioè -1.05 * 10^2 = -105). Una variabile di questo tipo può anche contenere un valore intero, che per essere riconosciuto come float deve essere dichiarato con num = 2.0, specificando quindi la parte decimale. Ricorda: num = 2 è un int, num = 2.0 è un float.

 

A questo punto si può ottenere il quoziente decimale di una divisione: 15 / 2.0 darà come risultato 7.5. E se avessi solo due variabili di tipo int?

Puoi convertirne una a float, utilizzando l’operatore float() in questo modo: float(15) / 2 darà come risultato 7.5. Puoi utilizzare questo operatore sia con numeri puri che con variabili, ad esempio float(num).

 

Usa l’ambiente di sviluppo sul tuo computer o su Repl.it per sperimentare ulteriormente la differenza tra numeri interi e reali.

Input

Come dicevamo prima, è importante che il tuo programma comunichi con l’utente: hai già visto come far sì che sia il programma a parlare con l’utente, ma questa interazione può anche andare nel verso opposto.


Per acquisire un dato puoi utilizzare la funzione input() in questo modo: nome = input(“Come ti chiami?”). Noterai che, tra le parentesi, c’è una stringa: inserirla è facoltativo, ed è il suggerimento che verrà mostrato all’utente prima che inserisca il dato richiesto. Questo suggerimento è importante perché ti permette di spiegare all’utente cosa dovrebbe inserire. Qui sotto è riportato un breve frammento di codice che acquisisce il nome dell’utente in input e lo visualizza in output: prova a utilizzarlo e sperimenta!

1   nome = input("Come ti chiami? ")

2   print("Il tuo nome è " + nome)

3

4   meteo = input("Che tempo fa oggi? ")

5   print("Oggi il tempo è " + meteo)

Attenzione!

 

Noterai che, nell’esempio, la seconda riga contiene l’istruzione print("Il tuo nome è " + nome). Infatti, è possibile utilizzare l’operatore + per concatenare una stringa con una variabile: al posto del nome della variabile verrà visualizzato il suo valore. Ricorda di lasciare il nome della variabile fuori dalle virgolette!

Nota anche che, se la variabile da concatenare è di tipo int o float, dovrai convertirla a una stringa: ad esempio, se hai una variabile anni = 22, usa l’istruzione print(“Ho ” + str(anni) + “ anni”) per visualizzare la stringa “Ho 22 anni”.

Ora che hai visto un esempio di input, scrivi un programma che chiede all’utente la sua età e la usa per calcolare il suo anno di nascita. Un ultimo appunto: input() assegna alla variabile una stringa, anche se l’utente inserisce un numero. Per far sì che la variabile sia convertita in un numero intero, usa la struttura int(input(“Suggerimento”)) (oppure float(input(“Suggerimento”)) per un numero reale).

1   anno_attuale = 2021

2   eta = int(input("Quanti anni hai? "))

3

4   anno_di_nascita = anno_attuale - eta

5

6   print("Il tuo anno di nascita è il " + str(anno_di_nascita))

Commenti

In un programma, non tutte le righe devono contenere codice da eseguire: è possibile aggiungere delle annotazioni per spiegare a cosa serve una o più istruzioni. Questo rende il codice più comprensibile per chi lo legge e può tornare utile anche a te, per esempio se lavori su un grosso progetto.


Per scrivere queste annotazioni, puoi usare i commenti di Python: aggiungi un # all’inizio di una riga, e scrivi quello che vuoi dopo. Nelle prossime lezioni vedrai che utilizzeremo dei commenti per darti dei suggerimenti sulla risoluzione di alcuni esercizi.

Attenzione!

 

Un commento comprende una singola riga. Se vuoi un commento di più righe, dovrai aggiungere # all’inizio di ognuna di esse, come nell’esempio qui sopra.

CONCLUSIONE

Complimenti, hai completato la lezione 2!

In questa lezione hai effettuato il setup del tuo ambiente di sviluppo e hai imparato i concetti di base del linguaggio Python, come l'input e l'output, la gestione delle variabili e l'uso dei commenti.

Usa i pulsanti qui sotto per avanzare alla prossima lezione o per tornare alla home del corso.

bottom of page