Scambio di variabili in python

Scambio di variabili in python

In questa lezione implementeremo un semplice algoritmo per lo scambio di variabili in python, al fine di introdurre anche il concetto di assegnazione multipla.

Dati in input i valori di due variabili a e b, vogliamo scambiarne i valori, così che al termine a contiene il valore di b e b quello di a.

Ecco dunque un esempio:

Se a=5 e b=4 vogliamo che al termine del nostro algoritmo sia a=4 e b=5.

Ragioniamo quindi su una possibile soluzione! Sicuramente, per scambiare questi valori, una possibile soluzione può essere quella di utilizzare una variabile temporanea di appoggio.

Chiamo questa terza variabile temp, e procedo in questo modo:

temp=a #nella variabile temp memorizzo il valore di a

a=b #in a memorizzo il valore della variabile b

b=temp #in b memorizzo il valore della variabile temp che contiene il valore di a

Così ottengo lo scambio dei valori. Alla fine infatti avrò: a=4 e b=5.

Ma attenzione, c’è un altro metodo per scambiare le variabili in python.

Introduciamo perciò il concetto di assegnazione multipla.


Assegnazione multipla in python

Con l’assegnazione multipla in python si possono assegnare più variabili alla volta.

Quindi ad esempio:

a=b=5

In questo caso sia a che b assumono il valore di 5.


Oppure un’altra assegnazione che posso fare è questa:

a, b= 5, 4

In questo modo assegno ad a il valore 5 e a b il valore 4.


Se dopo scrivo:

a, b=b, a

Ottengo lo scambio dei due valori.


Scambio variabili in python

Ecco dunque la soluzione completa:

a=int(input(‘Inserisci a:’))
b=int(input(‘Inserisci b:’))
print(‘I valori inseriti sono a:’, a, ‘ e b: ‘, b)
print(‘Adesso scambio i valori’)
a,b=b,a
print(‘I valori scambiati sono a:’, a, ‘ e b: ‘, b)


Questo è solo un semplicissimo esempio di scambio di variabili in python con l’assegnazione multipla.

Alcuni link utili

Indice tutorial sul linguaggio python

1 – Introduzione al linguaggio python

2 – Le variabili in python

3 – Operatori aritmetici e di assegnazione in python

4 – Stringhe in python

5 – Casting in python

6 – Input e print in python

7 – Primi esercizi in python

8 – Errori in python

Script Python

Script Python

In questa lezione impareremo come creare gli script in Python, quindi lasciamo la modalità interattiva vista finora.

Un modo per creare gli script in Python è utilizzare ad esempio il semplice blocco note. Si scrive il codice e si salva il file dando un nome idoneo e un’estensione .py, avendo cura di aver selezionato tutti i file.

Per eseguire lo script basta andare nel prompt dei comandi, inserire il percorso del file e premere invio, come da schermata sotto:

Ecco come avviare il prompt:

script

Una volta aperto il prompt vado nel percorso specificato, nel mio caso la cartella Python_esercizi e poi avvio lo script che ho creato in precedenza di nome area_quadrato.py.

Ecco che verrà eseguito lo script. Infatti mi viene chiesto di inserire i dati, così come avevo programmato.

python esercizi

Vi ho illustrato questa semplice modalità per conoscenza, noi, in questo tutorial, lavoreremo con l’editor dell’IDLE che abbiamo installato con Python.

Quindi avviamo l’IDLE e, una volta aperto, andiamo nel menù File e scegliamo New file. In questo modo si aprirà l’editor con il quale si può scrivere il testo sorgente.


Primo script in python

Realizziamo quindi il nostro primo script.

Prendere in input il lato di un quadrato, calcolare e visualizzare l’area.

Possibile soluzione:

”’

primo script

Calcoliamo l’area di un quadrato

”’

lato=int(input(‘Inserisci il lato del quadrato:‘))

area=lato*lato

print(‘l\’area del quadrato è:‘, area)

Il testo inserito tra apici ”’ è il commento che può essere chiaramente tralasciato, come vi ho già spiegato nelle altre lezioni.

Notate che ho inserito dentro l’input il messaggio: ‘Inserisci il lato del quadrato‘ per dare un messaggio all’utente.

Script Python – salvare il file

Adesso salviamo il file con estensione .py andando nel menù File e poi su Save As. Dunque diamo il nome di area_quadrato.py per semplicità.

Controlliamo che non ci siano errori andando nel menu Run e poi Check Module.

Se è tutto ok, possiamo eseguire il nostro programma andando su Run Module sempre del menu Run, in alternativa potete premere il pulsante F5.

Ecco la figura che mostra il passaggio da fare:

run module

In questo modo partirà il programma nella finestra della Shell che vi chiederà di inserire il lato del quadrato.

shell python

In questa lezione abbiamo sviluppato esempio di script in Python.

Alcuni link utili

Indice tutorial sul linguaggio Python

1 – Introduzione al linguaggio Python

2 – Le variabili in Python

3 – Operatori aritmetici e di assegnazione in Python

4 – Stringhe in Python

5 – Casting in Python

6 – Input e print in Python

7 – Primi esercizi in Python

Errori in python

Errori in python

In questo tutorial parlermo di come correggere gli errori in python.

Chiaramente all’inizio della programmazione in python si faranno alcuni errori, ma a mano a mano diminuiranno sempre più.

È importante capire sin da subito come gestirli.

Ci sono dunque vari tipi di errori:


Errori lessicali

Gli errori lessicali sono derivanti dall’uso di termini che non appartengono al linguaggio.

Facciamo subito un esempio:


>>> a=intero(input())

Traceback (most recent call last):

File “<pyshell#31>”, line 1, in <module>

a=intero(input())

NameError: name ‘intero’ is not defined


In questo caso intero non appartiene al linguaggio, infatti l’interprete avvisa che non è definito.


Errori sintattici

Gli errori sintattici si verificano in molti casi:

– Quando ad esempio si utilizzano delle parole chiavi del linguaggio per altri scopi.

– Quando si dimentica a chiudere una parentesi (, [ o {.

– Se all’interno di una condizione c’è un solo = al posto del doppio uguale ==.

– Se mancano i due punti (:) alla fine dell’intestazione di ogni istruzione composta, includendo le istruzioni for, while, if e def (istruzioni che più avanti studieremo).

– Può succedere che i delimitatori delle stringhe non siano appaiati correttamente o che le stringhe non terminano in maniera appropriata.

– Errori di indentazione. Infatti in python vedremo che l’indentazione è fondamentale. Ciò secondo me è un bene perchè permette di scrivere codice pulito e facilmente leggibile da altri programmatori.


Alcuni esempi di errori di sintassi

Ecco un esempio di utilizzo di for come variabile per contenere un valore intero. For è difatti una parola chiave e non può essere utilizzata come variabile.

>>>for=15

SyntaxError: invalid syntax


Ecco un altro esempio in cui dimentichiamo di aprire una parentesi tonda:

>>>lato=int(input))

SyntaxError: invalid syntax


Errori logici o di semantica

In questo caso si deve trovare l’errore nella risoluzione dell’algoritmo. Sicuramente dal punto di vista logico ci sarà qualcosa che non funziona, quindi occorre nuovamente rivedere la possibile risoluzione.

Un semplice suggerimento intanto è quello di capire qual è la parte che non funziona, andando passo passo, così da dedicarsi solo su quella.


Errori di runtime

Gli errori di runtime sono quelli di esecuzione, cioè si verificano durante l’esecuzione del programma.

Può succedere quando si verificano delle eccezioni, o ad esempio se si genera un ciclo o una ricorsione infinita.

Vedremo più avanti qualche caso in dettaglio.

Alcuni link utili

Indice tutorial sul linguaggio python

1 – Introduzione al linguaggio python

2 – Le variabili in python

3 – Operatori aritmetici e di assegnazione in python

4 – Stringhe in python

5 – Casting in python

6 – Input e print in python

Esercizi in Python

Esercizi in Python

Sviluppiamo degli esercizi in Python al fine di consolidare quanto studiato finora.


Primo esercizio in Python

Calcolare l’area di un cerchio prendendo in input il raggio.

Ecco dunque la risoluzione del semplice problema in Python:

>>> raggio=float(input())

5.5

>>> PiGreco=3.14

>>> area=PiGreco*raggio*raggio

>>> print(‘l\’area del cerchio di raggio ‘, raggio, ‘ è:’, area)

l’area del cerchio di raggio 5.5 è dunque 94.985.

Il dato da prendere in input è dunque solo il raggio. PiGreco è un valore costante a cui assegno il valore approssimato 3.14.

In Python non c’è differenza significativa tra dichiarare una costante oppure una variabile.

Ricordiamo che la costante rappresenta dati che non cambiano durante l’esecuzione del programma, contrariamente alla variabile.

Più avanti utilizzeremo la libreria math e quindi la costante math.pi.


Secondo esercizio

Tra gli esercizi in Python che affronteremo oggi, c’è anche questo molto semplice:

Prendere in input il prezzo di un prodotto e scontarlo del 30%.

>>> prezzo=float(input())

34.6

>>> prezzo-=prezzo*30/100

>>> prezzo

24.22

L’espressione prezzo-=prezzo*30/100 non è altro che la forma abbreviata di prezzo=prezzo-prezzo*30/100, come abbiamo spiegato nella lezione sugli operatori di assegnazione.

Si poteva anche scrivere prezzo*=70/100 o ancora prezzo*=0.7.

Ho fatto tutto utilizzando una sola variabile perché la variabile prezzo non viene più utilizzata all’interno del programma. Qualora invece servisse sarebbe opportuno creare un’altra variabile.


Terzo esercizio

Continuiamo con altri esercizi in Python e dunque vi propongo il seguente:

Calcolare l’area di un trapezio prendendo in input la base maggiore, la base minore e l’altezza.

La risoluzione di questo algoritmo è dunque molto semplice:

>>> B=int(input()) #prendo in input la base maggiore.

58

>>> b=int(input()) #prendo in input la base minore.

30

>>> h=int(input()) #prendo in input l’altezza.

16

>>> area=(B+b)*h/2 #calcolo l’area del trapezio

>>> print(‘l\’area del trapezio è: ‘, area) #visualizzo l’area

l’area del trapezio è dunque 704.0.

In questo tutorial abbiamo spiegato dei semplicissimi esercizi in Python, nelle prossime lezioni ci eserciteremo ancora.

Alcuni link utili

Indice tutorial sul linguaggio python

1 – Introduzione al linguaggio python

2 – Le variabili in python

3 – Operatori aritmetici e di assegnazione in python

4 – Stringhe in python

5 – Casting in python

Input e print in Python

Input e print in Python

In questa lezione studieremo come utilizzare le funzioni input e print in Python.


Funzione input in Python

Per acquisire dei dati da tastiera si usa la funzione input(), che restituisce la stringa immessa dall’utente.

Infatti anche se inseriamo un numero intero o decimale, esso viene visto come una stringa.

>>> lato=input()

Inseriamo adesso il numero 5

>>> lato #visualizziamo il dato inserito

‘5’

Come possiamo notare, abbiamo una stringa anziché un intero.

Allora come possiamo fare a passare il valore intero o decimale alla variabile lato?

Occorre applicare la funzione int() oppure float(). Questa operazione, come abbiamo già spiegato nella scorsa lezione, viene indicata con il termine casting.

Facciamo subito l’esempio:

>>> lato=int(input())

5

>>> lato

5


La stessa cosa anche per i numeri decimali:

>>> raggio=float(input())

5.6

>>>raggio

5.6


Funzione print in Python

L’output dei dati si ottiene utilizzando la funzione print(), dove all’interno si specifica una stringa, una variabile o entrambe.

Quindi ad esempio:

>>> print(‘il lato’) #stamperà la parola lato

il lato

>>> print(lato) #stamperà la variabile lato

5

>>> print(‘il lato inserito da tastiera è: ‘, lato)

il lato inserito da tastiera è: 5


Esempio sull’uso di queste funzioni:

Prendiamo in input il lato di un quadrato e calcoliamo l’area.

Ecco dunque il nostro semplicissimo programma:

>>> lato=int(input())

5

>>> area=lato*lato

>>> print(‘l\’area del quadrato è: ‘, area)

l’area del quadrato è: 25

Noterete sicuramente che nell’istruzione print ho inserito il carattere \ in quanto è presente un apice. Questo carattere di escape è dunque necessario se ci troviamo con una parola con l’apostrofo: ‘l\’area’, l\’altalena, ecc.

Questi sono solo dei semplici esempi di utilizzo delle funzioni input e print in Python, nella prossima lezione proporrò altre esercitazioni.

Alcuni link utili

Indice tutorial sul linguaggio Python

1 – Introduzione al linguaggio Python

2 – Le variabili

3 – Operatori aritmetici e di assegnazione

4 – Stringhe