In questa lezione realizzemo un gioco con gli indovinelli con Scratch. Proporremo 4 semplici indovinelli: 1) Giro curioso nel bosco fitto e frondoso. Mi arrotolo in palla, sono piccolo e gioioso. 2) Mi nutro di insetti nell’oscurità, Un piccolo mammifero nella mia verità. 3) Nella notte mi senti cantare, Con occhi grandi posso guardare. 4) Faccio il sonnellino durante la lunga stagione. Amo miele e pesce, sono un buon pescatore!
Per individuare la risposta corretta, occorre trascinare ciascun animale sulla macchina. Se la macchina parte con l’animale vuol dire che la risposta è corretta, altrimenti la macchina cambia colore e l’animale ritorna in posizione.
Ecco una possibile implementazione del gioco indovinelli con Scratch:
Il dizionario my_dict contiene delle chiavi alfabetiche e dei valori numerici. Le chiavi di un dizionario devono essere univoche e possono essere dichiarate per ottenere il valore corrispondente.
Quindi se ad esempio voglio stampare un dizionario in Python posso scrivere:
print(my_dict[‘a’])
Se la chiave non esiste viene restituito un keyError. Per controllare se una chiave esiste nel dizionario possiamo usare l’operatore in oppure not in per vedere se non è presente.
if('a' in student):
print(my_dict['a'])
Facciamo un altro esempio di dizionario in Python che contiene i dati di uno studente:
Per calcolare la lunghezza di un dizionario utilizzamo la funzione len(d). Questa funzione calcola il numero delle coppie chiave-valore contenute nel dizionario.
In questa lezione spiegheremo cosa si intende per chiamata di funzione in Python, cioè come poter eseguire una funzione.
Nella scorsa lezione abbiamo studiato come definire le funzioni che ritornano uno o più valori o che non ne ritornano per niente.
Ma, dopo aver definito una funzione, occorre richiamarla in qualche punto del programma.
Esempio di chiamata di funzione in Python
Facciamo un semplice esempio di chiamata di funzione in python, creando due funzioni somma e sottrazione che poi andremo a richiamare.
def somma(x,y):
s=x+y
return s
def sottrazione(x,y):
d=x-y
return d
a=int(input(‘Inserisci il primo numero: ‘))
b=int(input(‘Inserisci il secondo numero: ‘))
t=somma(a,b) #richiamo la funzione somma
print(‘La somma è: ‘, t)
st=sottrazione(a,b) #richiamo la funzione sottrazione
print(‘La differenza tra i due numeri è: ‘, st)
La funzione prima di essere chiamata deve essere definita.
Cioè ad esempio, è sbagliato scrivere in questo modo:
a=int(input(‘Inserisci il primo numero: ‘))
b=int(input(‘Inserisci il secondo numero: ‘))
t=somma(a,b) #richiamo la funzione somma
def somma(x,y):
s=x+y
return s
Secondo esempio di chiamata di funzione
Facciamo un altro esempio semplice di chiamata di funzione, dove non ci sono argomenti.
def stampa():
print(‘Credi in te stesso e in quello che sei. Siate consapevoli che c\’è qualcosa dentro di voi che è più grande di qualsiasi ostacolo. (Christian D. Larson.)’)
print(‘Non dire che non hai abbastanza tempo. Hai esattamente lo stesso numero di ore di Pasteur, Michelangelo, Helen Keller, Madre Teresa, Leonardo da Vinci, Thomas Jefferson e Albert Einstein. (H. Jackson Brown Jr)’)
print(stampa()) #si richiama la funzione stampa che non ha argomenti
Quindi, dato che la funzione stampa non ha argomenti, quando si richiama non contiene alcun argomento tra le parentesi tonde.
Questi sono solo dei semplici esempi di chiamate di funzione in Python, nei prossimi tutorial ci eserciteremo ancora.
Python Break – In questa lezione studieremo come utilizzare l’istruzione break nei loop. Questa istruzione si rivela preziosa quando si desidera interrompere il ciclo in base a una condizione specifica, consentendo di procedere direttamente con l’esecuzione del codice successivo.
L’istruzione break in Python, come in molti altri linguaggi di programmazione, consente di uscire immediatamente dal ciclo for o while.
Migliora le tue capacità di programmazione Python seguendo il nostro corso in diretta!
Break può essere utilizzato in tutti i loop, anche nidificati. Se utilizzato in loop nidificati, solo il loop in cui è posizionato verrà terminato e gli altri loop continueranno normalmente.
Python Break – primo esempio con il while
Facciamo subito un esempio pratico, con il ciclo while.
Inserisci dei numeri da tastiera e sommali a mano a mano. Non appena inserisci un numero negativo, esci dal ciclo while.
Ecco una possibile implementazione dell’algoritmo proposto:
i = somma = 0
while i<10:
n = int(input('inserisci il numero: '))
if n < 0:
break
somma += n
i += 1
print('La somma è: ', somma)
In questo esempio non appena inseriamo un numero negativo usciamo immediatamente dal ciclo senza aggiungerlo. Infatti, break provoca l’uscita immediata dal ciclo while.
Prova questo esempio nel compilatore online, che puoi trovare a questo link: compilatore Python online.
Python Break – secondo esempio con il ciclo for
Facciamo lo stesso esempio usando per questa volta. Anche questa volta inseriamo la pausa quando si verifica una condizione.
Quindi ecco una possibile implementazione:
somma = 0
for i in range(10):
n = int(input('inserisci un numero: '))
if n < 0:
break
somma += n
print('La somma è: ', somma)
Come possiamo vedere anche questa volta, quando inseriamo un numero negativo, usciamo dal ciclo.
Python Break – terzo esempio con il ciclo for nidificato
In questo esempio utilizziamo l’interruzione solo nel ciclo più interno. Entriamo come condizione, quando i è uguale a 1 e j è uguale a 3.
Quindi ecco un possibile esempio:
'''
Break Python - FOR LOOP Nested
'''
for i in range(1,3):
for j in range(1,5):
print(j, end = '')
if j == 3 and i == 1:
break
print()
Conclusione: L’importanza dell’istruzione “break” nei loop Python
L’utilizzo dell’istruzione break nei loop Python è cruciale per controllare il flusso del programma e gestire efficacemente le condizioni di terminazione. Attraverso una serie di esempi pratici, abbiamo esplorato come break consenta di interrompere immediatamente l’esecuzione di un ciclo quando una certa condizione viene soddisfatta. Questo non solo ottimizza l’efficienza del codice, ma lo rende anche più chiaro e leggibile, evidenziando chiaramente il punto in cui il ciclo può terminare.
Dai semplici esempi di uscita da un ciclo while o for quando viene inserito un valore negativo, fino alla gestione di loop nidificati, l’istruzione break si dimostra versatile e indispensabile per risolvere una varietà di problemi di programmazione.
Se vuoi approfondire l’utilizzo dei cicli posso consiglaire il libro “50 Algoritmi per imparare Python”, che può fornire ulteriori approfondimenti e risorse per migliorare le competenze di programmazione Python.
Propongo altri esercizi con il while in Python, un modo efficace per acquisire familiarità con questo tipo di ciclo e consolidare le nostre competenze di programmazione.
Primo esercizio con il while in Python
Prendere in input 15 numeri e calcolare la media.
Innanzitutto diamo ad N il valore 15. N rappresenta quindi la quantità di numeri da inserire.
Utilizziamo una variabile contatore che parte da 0 e che si incrementa ogni volta di uno fino ad arrivare ad N.
Poi all’interno del while chiediamo di inserire un numero e lo sommiamo di volta in volta alla variabile somma.
Migliora le tue capacità di programmazione Python seguendo il nostro corso in diretta!
Dopo il ciclo calcoliamo la media e la visualizziamo.
Ecco dunque il codice Python completo:
i, N = 0, 15
somma = 0
while i < N:
n = int(input('Inserisci un numero: '))
somma += n
i += 1
media = somma / N
print('La media è:', media)
In questa soluzione, calcoliamo la media dividendo la somma totale dei numeri per il numero totale di numeri inseriti.
Potevamo anche utilizzare una sola variabile sia per la somma che per la media, dato che la variabile somma non viene più utilizzata all’interno del programma.
Ecco dunque una possibile variazione alla soluzione proposta prima:
i, N = 0, 15
media = 0
while i < N:
n = int(input('Inserisci un numero: '))
media += n
i += 1
media = media / N
print('La media è:', media)
In questo esercizio, proponiamo un approccio leggermente diverso per calcolare la media di 15 numeri. Utilizziamo una sola variabile per accumulare la somma dei numeri inseriti e calcoliamo la media alla fine del ciclo.
Questo esercizio illustra un modo più conciso per calcolare la media senza la necessità di una variabile separata per la somma.
Inserire 10 numeri e sommare solo quelli compresi tra 100 e 1000.
i, N = 0, 10
somma = 0
while i < N:
n = int(input('Inserisci un numero: '))
if 100 <= n <= 1000:
somma += n
i += 1
print('La somma dei numeri compresi tra 100 e 1000 è:', somma)
In entrambi gli esempi, utilizziamo il costrutto while per iterare attraverso il processo di acquisizione dei numeri e somma, consentendo un controllo flessibile sul numero di iterazioni necessarie.
Questi esercizi forniscono un’ottima opportunità per comprendere il funzionamento del ciclo while e per acquisire pratica nell’utilizzo di istruzioni condizionali e operazioni aritmetiche in Python.
Continua a esercitarti con questi esempi e sperimenta con il codice per consolidare le tue conoscenze di programmazione Python!
Per ulteriori risorse e approfondimenti, considera l’acquisto del libro “50 Algoritmi per imparare Python” disponibile su Amazon.
Commenti recenti