Indovinelli con Scratch

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:

Dizionari in Python

Dizionari in Python

I dizionari in Python sono delle strutture dati che contengono elementi (items) formati da una chiave (key) e da un valore (value).

my_dict = {“key_1”: “value_1”, “key_2”: “value_2”, “key_3”: “value_3”, …}

Vediamo un esempio di base:


my_dict = {'a': 1, 'b': 2, 'c': 3}
print(my_dict)

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:



student = {'name': 'Paul', 'age': 20, 'mail': 'info@codingcreativo.it'}
print(student)
print(student['name'])

Calcolare la lunghezza del dizionario in Python

Per calcolare la lunghezza di un dizionario utilizzamo la funzione len(d). Questa funzione calcola il numero delle coppie chiave-valore contenute nel dizionario.



student = {'name': 'Paul', 'age': 20, 'mail': 'info@codingcreativo.it'}
print(len(student))

Operazioni con i dizionari in Python

Aggiungiamo dati ad un dizionario:



student = {'name': 'Paul', 'age': 20, 'mail': 'info@codingcreativo.it'}
student['surname'] = 'Doe'
print(student)

Eliminiamo dati da un dizionario:

del(student['name'])
print(student)

Metodi supportati dai dizionari in Python e che studieremo in dettaglio:

MetodoDescrizione
d.items()restituisce tute le coppie chiave valore del dizionario d
d.keys()restituisce tutte le chiavi del dizionario d
d.values()restituisce tutti i valori del dizionario d
d.pop(key, default)rimuove il valore dal dizionario
d.popitem()Elimina l’ultimo elemento dal dizionario
d.update(d2)Aggiunge elementi di un dizionario d2 nel dizionario d
d.copy()crea e restituisce una copia del dizionario d
d.clear()Svuota il dizionario d

Facciamo alcuni esempi. Utilizziamo il metodo d.items() per visualiazzare tutte le coppie chiave-valore, come un insieme di tuple:


student = {'name': 'Paul', 'age': 20, 'mail': 'info@codingcreativo.it'}
print(student.items())

Utilizziamo d.keys() e d.values() per visualizzare le chiavi e i valori del dizionario d:


student = {'name': 'Paul', 'age': 20, 'mail': 'info@codingcreativo.it'}
print(student.keys())
print(student.values())

Utilizziamo il metodo d.update(d2) in Python per unire due dizionari:


student = {'name': 'Paul', 'age': 20, 'mail': 'info@codingcreativo.it'}
student_address = {'Country': 'London', 'State': 'UK', 'street': 'coding creativo'}
student.update(student_address)
print(student)

Utilizziamo il metodo d.clear() per svuotare il dizionario:


student = {'name': 'Paul', 'age': 20, 'mail': 'info@codingcreativo.it'}
student.clear()
print(student)

In questo modo si ottiene un dizionario vuoto!

Utilizziamo il metodo d.popitem() per rimuovere l’ultimo elemento dal dizionario:


student = {'name': 'Paul', 'age': 20, 'mail': 'info@codingcreativo.it'}
student.clear()
print(student)

Ci sono altri metodi da utilizzare sui dizionari in Python che affronteremo più avanti.

Alcuni link utili

Indice tutorial sul linguaggio Python

1 – Introduzione al linguaggio Python

2 – Le variabili

3 – Operatori aritmetici e di assegnazione

4 – Stringhe

5 – Casting

6 – Input e print

7 – Primi esercizi in Python

8 – Errori in Python

9 – Script Python

10 – Scambio di variabili

11 – Modulo math

Chiamata di funzione in Python

Chiamata di funzione in Python

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.

Alcuni link utili

Indice tutorial sul linguaggio Python

1 – Introduzione al linguaggio Python

2 – Le variabili

3 – Operatori aritmetici e di assegnazione

4 – Stringhe

5 – Casting

6 – Input e print

7 – Primi esercizi in Python

8 – Errori in Python

9 – Script Python

10 – Scambio di variabili

Python Break

Python Break

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.

Alcuni link utili

Corso in diretta su Python

Indice tutorial sul linguaggio Python

1 – Introduzione al linguaggio Python

2 – Le variabili

3 – Operatori aritmetici e di assegnazione

4 – Stringhe

5 – Casting

6 – Input e print

7 – Primi esercizi in Python

8 – Errori in Python

9 – Script Python

10 – Scambio di variabili

11 – Libreria math

12 – Operatori di confronto e booleani

13 – If else

14 – If elif else

15 – If annidati

Esercizi con il while in Python

Esercizi con il while in 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.


Secondo esercizio

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.

Alcuni link utili

Corso in diretta su Python

Indice tutorial sul linguaggio Python

1 – Introduzione al linguaggio Python

2 – Le variabili

3 – Operatori aritmetici e di assegnazione

4 – Stringhe

5 – Casting

6 – Input e print

7 – Primi esercizi in Python

8 – Errori in Python

9 – Script Python

10 – Scambio di variabili

11 – Modulo math

12 – Operatori di confronto e booleani

13 – If else

14 – If elif else

15 – If annidati