Imparare a programmare non significa solo leggere tutorial: è importante rimboccarsi le maniche e praticare. In questo post, esploreremo 20 esercizi semplici perfetti per i principianti. Ognuno di essi è accompagnato da esempi e soluzioni in Python, così puoi provarli subito.
1. Stampa “Hello, World!”
Cosa richiede l'esercizio: Scrivi il programma più semplice possibile che visualizza un messaggio sullo schermo. Questo mostra come eseguire codice e ottenere risultati visibili.
Cosa userai: funzione print() — nessun input, solo output.
Output di esempio
Hello, World!
Soluzione in Python
print("Hello, World!")
2. Calcolatrice Semplice
Cosa richiede l'esercizio: Prendi due numeri dall'utente e calcola la loro somma, differenza, prodotto e quoziente. Questo ti insegna a gestire l'input e le operazioni aritmetiche di base.
Cosa userai: input() per ottenere i numeri, float() per convertirli, operatori aritmetici (+ - * /) e print() per i risultati.
Input di esempio
8
2
Output di esempio
Addizione: 10.0
Sottrazione: 6.0
Moltiplicazione: 16.0
Divisione: 4.0
Soluzione in Python
a = float(input("Inserisci il primo numero: ").strip())
b = float(input("Inserisci il secondo numero: ").strip())
print("Addizione:", a + b)
print("Sottrazione:", a - b)
print("Moltiplicazione:", a * b)
print("Divisione:", a / b if b != 0 else "Infinity")
3. Controllo di Pari o Dispari
Cosa richiede l'esercizio: Decidi se un intero è pari o dispari.
Cosa userai: modulo %, espressione condizionale
Input di esempio
7 è dispari
Output di esempio
7 è dispari
Python
n = int(input().strip())
print(f"{n} è {'pari' if n % 2 == 0 else 'dispari'}")
4. Gioco di Indovinare il Numero
Cosa richiede l'esercizio: Il computer sceglie un numero casuale; l'utente continua a indovinare fino a trovare quello giusto, con suggerimenti di alto/basso.
Cosa userai: random.randint(), ciclo while, if/elif/else.
Esempio di esecuzione
Indovina (1-10): 5
Troppo basso
Indovina (1-10): 8
Corretto!
Soluzione in Python
import random
secret = random.randint(1, 10)
while True:
g = int(input("Indovina (1-10): ") or 0)
if g < secret:
print("Troppo basso")
elif g > secret:
print("Troppo alto")
else:
print("Corretto!")
break
5. Tabella di Moltiplicazione
Cosa richiede l'esercizio: Stampa la tabella di moltiplicazione da 1 a 10 per un numero dato.
Cosa userai: ciclo for, f-strings.
Input di esempio
3
Output di esempio
3 x 1 = 3
...
3 x 10 = 30
Soluzione in Python
n = int(input().strip())
for i in range(1, 11):
print(f"{n} x {i} = {n*i}")
6. Controllo di Palindromi
Cosa richiede l'esercizio: Controlla se il testo si legge allo stesso modo in avanti e all'indietro (ignora maiuscole e spazi/punteggiatura).
Cosa userai: pulizia della stringa, .lower(), slicing [::-1].
Input di esempio
RaceCar
Output di esempio
RaceCar è un palindromo
Soluzione in Python
s = input().strip()
clean = ''.join(ch.lower() for ch in s if ch.isalnum())
print(f"{s} è {'un palindromo' if clean == clean[::-1] else 'non è un palindromo'}")
7. Sequenza di Fibonacci
Cosa richiede l'esercizio: Stampa i primi n numeri di Fibonacci.
Cosa userai: variabili per tenere traccia degli ultimi due valori, ciclo for, join della lista.
Input di esempio
6
Output di esempio
0 1 1 2 3 5
Soluzione in Python
n = int(input().strip())
a, b = 0, 1
seq = []
for _ in range(n):
seq.append(str(a))
a, b = b, a + b
print(' '.join(seq))
8. Calcolatore di Fattoriali
Cosa richiede l'esercizio: Calcola n! (prodotto di 1..n).
Cosa userai: moltiplicazione nel ciclo for (o ricorsione).
Input di esempio
5
Output di esempio
120
Soluzione in Python
n = int(input().strip())
f = 1
for i in range(2, n+1):
f *= i
print(f)
9. Contatore di Parole
Cosa richiede l'esercizio: Conta quante parole ci sono in una frase.
Cosa userai: str.split(), len().
Input di esempio
Amo programmare
Output di esempio
3
Soluzione in Python
s = input().strip()
print(len(s.split()))
10. Lista di Attività (Mini CLI)
Cosa richiede l'esercizio: Aggiungi, visualizza e rimuovi attività in un semplice menu a ciclo.
Cosa userai: liste, ciclo while, if/elif/else.
Esempio di esecuzione
1
Finire i compiti
2
1 Finire i compiti
Soluzione in Python
tasks = []
while True:
print("1) Aggiungi 2) Visualizza 3) Rimuovi 4) Esci")
c = input("> ").strip()
if c == "1":
tasks.append(input("Attività: ").strip()); print("Aggiunto.")
elif c == "2":
if tasks:
for i, t in enumerate(tasks, 1):
print(i, t)
else:
print("Nessuna attività.")
elif c == "3":
i = int(input("Indice: ") or 0)
if 1 <= i <= len(tasks):
tasks.pop(i-1); print("Rimosso.")
else:
print("Indice non valido.")
elif c == "4":
break
else:
print("Prova 1-4.")
11. Invertire una Stringa
Cosa richiede l'esercizio: Stampa la versione invertita del testo di input.
Cosa userai: slicing [::-1].
Input di esempio
ciao
Output di esempio
oaic
Soluzione in Python
print(input().strip()[::-1])
12. Maggiore di Tre Numeri
Cosa richiede l'esercizio: Leggi tre numeri e stampa il maggiore.
Cosa userai: input().split(), map(), max().
Input di esempio
4 9 2
Output di esempio
9
Soluzione in Python
a, b, c = map(float, input().split())
print(max(a, b, c))
13. Convertitore di Temperature (C ↔ F)
Cosa richiede l'esercizio: Converti Celsius in Fahrenheit o viceversa in base a un prefisso di scala.
Cosa userai: condizionali, aritmetica.
Input di esempio
C 25
Output di esempio
77.0
Soluzione in Python
scale, val = input().split()
x = float(val)
print(x * 9/5 + 32 if scale.upper() == 'C' else (x - 32) * 5/9)
14. Interessi Semplici
Cosa richiede l'esercizio: Calcola l'interesse semplice usando P, R, T.
Cosa userai: map(float, ...), formula aritmetica P*R*T/100.
Input di esempio
1000 5 2
Output di esempio
100.0
Soluzione in Python
P, R, T = map(float, input().split())
print(P * R * T / 100)
15. Controllo di Numeri Primi
Cosa richiede l'esercizio: Indica se n è primo.
Cosa userai: ciclo fino a √n, interruzione anticipata su divisore.
Input di esempio
13
Output di esempio
primo
Soluzione in Python
n = int(input().strip())
if n < 2:
print("non primo")
else:
i, ok = 2, True
while i*i <= n:
if n % i == 0:
ok = False; break
i += 1
print("primo" if ok else "non primo")
16. Somma delle Cifre
Cosa richiede l'esercizio: Somma tutti i caratteri numerici nell'input.
Cosa userai: espressione generatrice su stringa, sum().
Input di esempio
1234
Output di esempio
10
Soluzione in Python
s = input().strip()
print(sum(int(ch) for ch in s if ch.isdigit()))
17. Conta Vocali
Cosa richiede l'esercizio: Conta quante vocali ci sono nel testo di input.
Cosa userai: .lower(), controlli di appartenenza con un set.
Input di esempio
programmazione
Output di esempio
3
Soluzione in Python
s = input().lower()
vowels = set('aeiou')
print(sum(ch in vowels for ch in s))
18. Carta–Forbice–Sasso
Cosa richiede l'esercizio: Gioca un round contro il computer e riporta vittoria/sconfitta/pareggio.
Cosa userai: random.choice(), regole di vittoria basate su tuple, if/elif.
Esempio di esecuzione
rock
Il computer ha scelto: forbici
Hai vinto!
Soluzione in Python
import random
user = input("rock/paper/scissors: ").strip().lower()
cpu = random.choice(["rock", "paper", "scissors"])
print("Il computer ha scelto:", cpu)
if user == cpu:
print("Pareggio!")
elif (user, cpu) in {("rock","scissors"), ("paper","rock"), ("scissors","paper")}:
print("Hai vinto!")
else:
print("Hai perso!")
19. Min & Max in una Lista
Cosa richiede l'esercizio: Leggi numeri su una riga e stampa il minimo e il massimo.
Cosa userai: split(), map(float), min(), max().
Input di esempio
5 9 1 7 3
Output di esempio
1 9
Soluzione in Python
nums = list(map(float, input().split()))
print(min(nums), max(nums))
20. Validatore di Password di Base
Cosa richiede l'esercizio: Valida una password: lunghezza ≥ 8, deve avere almeno una lettera e una cifra.
Cosa userai: len(), any(), .isalpha(), .isdigit(), logica booleana.
Input di esempio
Hello123
Output di esempio
valido
Soluzione in Python
pw = input().strip()
ok = (len(pw) >= 8 and any(ch.isalpha() for ch in pw) and any(ch.isdigit() for ch in pw))
print("valido" if ok else "non valido")