×

Guida completa a Python

Guida completa a Python

📘 Capitolo 4 – Strutture di Controllo in Python

1. Le condizioni: if, elif, else

Permettono di eseguire blocchi di codice solo se certe condizioni sono vere.

eta = 18

if eta >= 18:
print("Sei maggiorenne!")
elif eta > 13:
print("Sei un adolescente.")
else:
print("Sei un bambino.")

Importante: i blocchi sono indentati (rientrati) con 4 spazi o un tab.

2. Operatori di confronto

OperatoreSignificatoEsempio (x = 5)
==uguale ax == 5
!=diverso dax != 10
>maggiore dix > 3
<minore dix < 7
>=maggiore o ugualex >= 5
<=minore o ugualex <= 4

3. Operatori logici: and, or, not

# Esempio con and
eta = 20
if eta >= 18 and eta < 65:
print("Età da lavoro")

# Esempio con or
if eta < 13 or eta > 70:
print("Tariffa scontata")

# Esempio con not
is_logged = False
if not is_logged:
print("Effettua il login")

4. Il ciclo while

Serve a ripetere qualcosa finché una condizione è vera.

x = 1
while x <= 5:
print(x)
x += 1 # equivale a x = x + 1

Attento ai loop infiniti! (while True: senza break può bloccare il programma)

5. Il ciclo for

Il ciclo for in Python è usato per scorrere elementi di una sequenza (list, str, range, ecc.)

# range(start, stop, step)
for i in range(1, 6):
print(i) # stampa da 1 a 5

# Ciclo su una stringa
for lettera in "ciao":
print(lettera)

# Ciclo su una lista
frutti = ["mela", "pera", "banana"]
for frutto in frutti:
print(frutto)

6. Parole chiave speciali: break, continue, pass

# break ➝ esce dal ciclo
for i in range(10):
if i == 5:
break
print(i) # stampa da 0 a 4

# continue ➝ salta l'iterazione corrente
for i in range(5):
if i == 2:
continue
print(i) # stampa 0, 1, 3, 4

# pass ➝ non fa nulla (se serve un blocco vuoto)
if True:
pass

🧪 Esercizio pratico

  1. Chiedere un numero all’utente
  2. Controllare se è pari o dispari
  3. Stampare il risultato
  4. Usare un ciclo for per contare da 1 fino a quel numero

Soluzione in Python

# Chiediamo un numero all'utente
numero_input = input("Inserisci un numero intero positivo: ")

# Verifica dell'input
if numero_input.isdigit():
numero = int(numero_input)

# Verifica se è pari o dispari
if numero % 2 == 0:
print("Il numero è pari.")
else:
print("Il numero è dispari.")

# Conta da 1 a numero
print("Ora conto da 1 a", numero)
for i in range(1, numero + 1):
print(i)
else:
print("Errore: devi inserire un numero intero positivo!")

Cosa hai imparato qui?

  • Uso del modulo % per capire se un numero è pari o dispari
  • Controllo dell’input con .isdigit()
  • Uso di for e range() per contare da 1 a N

Versione migliorata dell’esercizio con ciclo while

while True:
# Chiediamo un numero all’utente
numero_input = input("Inserisci un numero intero positivo (o 'q' per uscire): ")

if numero_input.lower() == "q":
print("Uscita dal programma. Ciao!")
break

# Verifica dell'input
if numero_input.isdigit():
numero = int(numero_input)

# Verifica se è pari o dispari
if numero % 2 == 0:
print("Il numero è pari.")
else:
print("Il numero è dispari.")

# Conta da 1 a numero
print("Ora conto da 1 a", numero)
for i in range(1, numero + 1):
print(i)
else:
print("Errore: inserisci un numero valido o 'q' per uscire.")

print("-" * 30) # separatore visivo

Cosa è cambiato?

  • Abbiamo usato while True: per creare un loop infinito finché l’utente non scrive "q".
  • Usato break per uscire dal loop se l’utente vuole terminare.
  • Il programma ora è interattivo e continuo, proprio come una vera app da terminale!

Pagine: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19