Introduzione
Python è uno dei linguaggi di programmazione più popolari grazie alla sua semplicità e versatilità. È ampiamente utilizzato in vari settori, tra cui lo sviluppo web, il machine learning, l'automazione, e molto altro. Se sei un principiante che vuole imparare Python in modo pratico, questo articolo ti guiderà attraverso 10 progetti Python facili da realizzare. Ogni progetto è pensato per farti acquisire nuove competenze e rafforzare quelle già apprese.
1. Calcolatrice Semplice
Una calcolatrice è uno dei progetti più semplici per iniziare con Python. Ti aiuterà a comprendere meglio l'uso delle funzioni e delle condizioni.
Come costruirla:
Crea una funzione per ogni operazione matematica (somma, sottrazione, moltiplicazione e divisione). Poi, costruisci un menu che permetta all'utente di scegliere l'operazione e inserire i numeri.
def add(a, b):
return a + b
def subtract(a, b):
return a - b
def multiply(a, b):
return a * b
def divide(a, b):
return a / b
while True:
print("Seleziona l'operazione: 1.Add, 2.Subtract, 3.Multiply, 4.Divide")
choice = input("Scegli (1/2/3/4): ")
num1 = float(input("Inserisci il primo numero: "))
num2 = float(input("Inserisci il secondo numero: "))
if choice == '1':
print(f"Risultato: {add(num1, num2)}")
elif choice == '2':
print(f"Risultato: {subtract(num1, num2)}")
elif choice == '3':
print(f"Risultato: {multiply(num1, num2)}")
elif choice == '4':
print(f"Risultato: {divide(num1, num2)}")
else:
print("Scelta non valida")
2. Convertitore di Temperatura
Questo progetto ti aiuterà a comprendere come gestire input e output in Python, oltre a esercitarti con le formule matematiche. L'obiettivo è convertire le temperature da Celsius a Fahrenheit e viceversa.
Come costruirlo:
def celsius_to_fahrenheit(c):
return (c * 9/5) + 32
def fahrenheit_to_celsius(f):
return (f - 32) * 5/9
temp = float(input("Inserisci la temperatura: "))
choice = input("Convertire da (C) Celsius o (F) Fahrenheit? ")
if choice.lower() == 'c':
print(f"{temp}°C è {celsius_to_fahrenheit(temp)}°F")
elif choice.lower() == 'f':
print(f"{temp}°F è {fahrenheit_to_celsius(temp)}°C")
else:
print("Scelta non valida")
3. Generatore di Password Sicure
Impara a generare password sicure in modo automatico con Python. Questo progetto utilizza la libreria random per creare stringhe casuali di lettere, numeri e simboli.
Come costruirlo:
import random
import string
def generate_password(length):
characters = string.ascii_letters + string.digits + string.punctuation
password = ''.join(random.choice(characters) for i in range(length))
return password
password_length = int(input("Lunghezza della password: "))
print(f"La tua password generata è: {generate_password(password_length)}")
4. Gioco "Indovina il Numero"
Un altro classico progetto per principianti. Il programma genera un numero casuale, e l'utente deve indovinare qual è. Il programma fornisce suggerimenti se il numero è troppo alto o troppo basso.
Come costruirlo:
import random
numero = random.randint(1, 100)
tentativi = 0
while True:
guess = int(input("Indovina il numero (1-100): "))
tentativi += 1
if guess < numero:
print("Troppo basso!")
elif guess > numero:
print("Troppo alto!")
else:
print(f"Complimenti! Hai indovinato in {tentativi} tentativi.")
break
5. Contatore di Parole in un Testo
Costruisci un programma che conta il numero di parole in un testo inserito dall'utente. Questo progetto ti aiuta a lavorare con stringhe e liste.
Come costruirlo:
def count_words(text):
words = text.split()
return len(words)
text = input("Inserisci un testo: ")
print(f"Il numero di parole nel testo è: {count_words(text)}")
6. Calcolatore di IMC (Indice di Massa Corporea)
Questo progetto calcola l'Indice di Massa Corporea (IMC) di una persona in base al suo peso e alla sua altezza. Ti aiuterà a usare le operazioni aritmetiche e gestire input dell'utente.
Come costruirlo:
def calcola_imc(peso, altezza):
return peso / (altezza ** 2)
peso = float(input("Inserisci il tuo peso in kg: "))
altezza = float(input("Inserisci la tua altezza in metri: "))
imc = calcola_imc(peso, altezza)
print(f"Il tuo IMC è: {imc:.2f}")
7. Lista della Spesa
Costruisci una semplice lista della spesa che permette all'utente di aggiungere e rimuovere elementi. Questo progetto ti aiuterà a comprendere meglio le liste e le operazioni su di esse.
Come costruirlo:
spesa = []
while True:
scelta = input("Vuoi (A)ggiungere, (R)imuovere o (V)isualizzare la lista? (Esci con Q): ").lower()
if scelta == 'a':
item = input("Inserisci l'elemento da aggiungere: ")
spesa.append(item)
elif scelta == 'r':
item = input("Inserisci l'elemento da rimuovere: ")
if item in spesa:
spesa.remove(item)
else:
print(f"{item} non è nella lista.")
elif scelta == 'v':
print("Lista della spesa:", spesa)
elif scelta == 'q':
break
else:
print("Scelta non valida.")
8. Simulatore di Lancio dei Dadi
Un progetto divertente che simula il lancio di due dadi. Puoi farlo usando il modulo random e generando numeri casuali per simulare il risultato del lancio.
Come costruirlo:
import random
def lancia_dadi():
dado1 = random.randint(1, 6)
dado2 = random.randint(1, 6)
return dado1, dado2
while True:
input("Premi Invio per lanciare i dadi...")
dado1, dado2 = lancia_dadi()
print(f"Hai lanciato un {dado1} e un {dado2}")
if input("Vuoi lanciare di nuovo? (S/N): ").lower() != 's':
break
9. Cronometro
Costruisci un semplice cronometro utilizzando il modulo time. Questo progetto ti aiuterà a capire come Python gestisce il tempo.
Come costruirlo:
import time
def cronometro():
input("Premi Invio per iniziare...")
start = time.time()
input("Premi Invio per fermare...")
end = time.time()
print(f"Tempo trascorso: {end - start:.2f} secondi")
cronometro()
10. Convertitore di Valuta
Costruisci un programma che converte un importo da una valuta all'altra. Puoi partire con tassi di cambio statici e, in futuro, connetterti a un'API per ottenere tassi aggiornati.
Come costruirlo:
def converti_valuta(importo, tasso):
return importo * tasso
euro_to_usd = 1.10
importo = float(input("Inserisci l'importo in Euro: "))
print(f"Convertito in USD: {converti_valuta(importo, euro_to_usd)}")
Conclusione
Questi 10 progetti Python sono un ottimo punto di partenza per imparare e praticare la programmazione. Ogni progetto ti aiuterà a migliorare le tue competenze, passando dai concetti base fino a implementazioni più complesse. Man mano che completi ciascun progetto, non dimenticare di sperimentare e personalizzare i tuoi programmi per renderli più adatti alle tue esigenze!