Codice Python: Gioco “Indovina il numero”
Obiettivo:
Creare un programma con Python in cui il computer sceglie un numero casuale tra 1 e 10, e il giocatore deve indovinarlo. Il programma dà indizi (“troppo alto” o “troppo basso”) fino a quando il giocatore indovina.
Se non hai installato Python sul PC puoi utilizzare la piattaforma online per testare il codice: https://www.online-python.com/
Codice del gioco
import random # Importa il modulo per generare numeri casuali
def gioco_indovina_numero():
print("Benvenuto nel gioco 'Indovina il numero'!")
print("Sto pensando a un numero tra 1 e 10.")
print("Prova a indovinarlo!")
# Genera un numero casuale tra 1 e 10
numero_segreto = random.randint(1, 10)
tentativi_rimasti = 5 # Numero massimo di tentativi
tentativo = None # Inizializza la variabile tentativo
# Ciclo principale
while tentativi_rimasti > 0:
print(f"\nHai {tentativi_rimasti} tentativi rimasti.")
# Gestisce l'inserimento del numero da parte dell'utente
try:
tentativo = int(input("Inserisci un numero tra 1 e 10: "))
except ValueError:
print("Per favore, inserisci un numero valido!")
continue
# Verifica se il numero è nell'intervallo corretto
if tentativo < 1 or tentativo > 10:
print("Il numero deve essere compreso tra 1 e 10!")
continue
# Confronta il tentativo con il numero segreto
if tentativo < numero_segreto:
print("Troppo basso!")
elif tentativo > numero_segreto:
print("Troppo alto!")
else:
print(f"Complimenti! Hai indovinato il numero {numero_segreto}!")
break # Esce dal ciclo se il numero è corretto
# Riduce il numero di tentativi rimasti
tentativi_rimasti -= 1
# Fine del gioco
if tentativi_rimasti == 0 and tentativo != numero_segreto:
print(f"\nPeccato! Hai esaurito i tentativi. Il numero era {numero_segreto}.")
print("Grazie per aver giocato!")
# Avvia il gioco
gioco_indovina_numero()
Spiegazione del codice
- Inizializzazione del gioco:
- Mostra un messaggio di benvenuto.
- Genera un numero casuale tra 1 e 10 usando
random.randint(1, 10)
. - Imposta il numero massimo di tentativi a 5.
- Ciclo principale (
while
):- Il gioco continua finché il giocatore ha tentativi disponibili.
- Ogni iterazione del ciclo:
- Mostra il numero di tentativi rimasti.
- Chiede all’utente di inserire un numero, verificando che sia un intero valido e compreso tra 1 e 10.
- Fornisce un feedback sul tentativo (
Troppo basso
,Troppo alto
oEsatto
). - Se il giocatore indovina, il ciclo termina.
- Gestione degli errori:
- Usa un blocco
try-except
per catturare errori di input, ad esempio se l’utente inserisce un valore non numerico.
- Usa un blocco
- Conclusione del gioco:
- Se i tentativi si esauriscono senza indovinare, il programma rivela il numero segreto.
- Mostra un messaggio di chiusura indipendentemente dal risultato.
Personalizzazioni possibili
- Cambiare l’intervallo dei numeri (ad esempio, da 1 a 100).
- Aumentare o ridurre il numero massimo di tentativi.
- Salvare i risultati in un file per mostrare le statistiche del giocatore.