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")