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

  1. 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.
  2. 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 o Esatto).
      • Se il giocatore indovina, il ciclo termina.
  3. Gestione degli errori:
    • Usa un blocco try-except per catturare errori di input, ad esempio se l’utente inserisce un valore non numerico.
  4. 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.