Utilizzo delle Librerie Standard di Python: Creazione di un Gioco di Indovinelli

by theArchitect
SHARE
Utilizzo delle Librerie Standard di Python: Creazione di un Gioco di Indovinelli
© Guida-HTML5.it

Introduzione

In questo tutorial, esploreremo come utilizzare le librerie standard di Python, in particolare math, datetime e random, per creare un semplice gioco di indovinelli. Questo gioco richiederà all´utente di indovinare un numero casuale generato dal programma. Utilizzeremo random per generare il numero, datetime per tenere traccia del tempo impiegato dall´utente per indovinare, e math per fornire suggerimenti basati sulla distanza dal numero corretto.

Codice completo

import random
import datetime
import math

def gioco_indovinelli():
    # Genera un numero casuale tra 1 e 100
    numero_casuale = random.randint(1, 100)
    print("Benvenuto al Gioco di Indovinelli!")
    print("Indovina un numero tra 1 e 100.")

    # Inizializza il contatore dei tentativi
    tentativi = 0
    inizio_tempo = datetime.datetime.now()

    while True:
        # Chiede all´utente di inserire un numero
        try:
            indovinato = int(input("Inserisci il tuo numero: "))
            tentativi += 1
            
            # Controlla se il numero è corretto
            if indovinato  numero_casuale:
                print("Troppo alto! Riprova.")
            else:
                fine_tempo = datetime.datetime.now()
                tempo_trascorso = fine_tempo - inizio_tempo
                print(f"Complimenti! Hai indovinato il numero {numero_casuale} in {tentativi} tentativi.")
                print(f"Tempo impiegato: {tempo_trascorso.seconds} secondi.")
                break
            
            # Fornisce un suggerimento basato sulla distanza
            distanza = abs(numero_casuale - indovinato)
            if distanza > 10:
                print("Sei molto lontano!")
            elif distanza > 5:
                print("Sei vicino!")
            else:
                print("Sei molto vicino!")
        
        except ValueError:
            print("Per favore, inserisci un numero valido.")

# Avvia il gioco
gioco_indovinelli()

Spiegazione

Il codice presentato è un semplice gioco di indovinelli che utilizza le librerie standard di Python. Ecco una spiegazione dettagliata delle varie sezioni:

  • Importazione delle librerie: Iniziamo importando le librerie necessarie. random ci permette di generare numeri casuali, datetime ci aiuta a gestire il tempo e math sarà utile per calcolare la distanza.
  • Generazione del numero casuale: Utilizziamo random.randint(1, 100) per generare un numero casuale tra 1 e 100. Questo sarà il numero da indovinare.
  • Gestione dei tentativi: Iniziamo un ciclo infinito while True che continuerà a chiedere all´utente di indovinare fino a quando non indovina correttamente. Ogni tentativo incrementa il contatore tentativi.
  • Controllo dell´input: Utilizziamo un blocco try-except per gestire eventuali errori di input. Se l´utente inserisce un valore non valido, viene avvisato.
  • Feedback all´utente: Dopo ogni tentativo, il programma fornisce feedback su se il numero è troppo alto o troppo basso, e fornisce suggerimenti basati sulla distanza dal numero corretto.
  • Calcolo del tempo: Utilizziamo datetime.datetime.now() per registrare il tempo di inizio e fine, calcolando il tempo totale impiegato per indovinare.

Best practice

Quando si sviluppano giochi o applicazioni interattive in Python, è importante seguire alcune best practice:

  • Gestione degli errori: Utilizzare blocchi try-except per gestire input non validi e migliorare l´esperienza utente.
  • Feedback chiaro: Fornire feedback chiaro e utile all´utente per guidarlo nel gioco.
  • Modularità: Separare il codice in funzioni per migliorare la leggibilità e la manutenibilità.
  • Documentazione: Commentare il codice e fornire documentazione per facilitare la comprensione.

Riepilogo

In questo tutorial, abbiamo creato un semplice gioco di indovinelli utilizzando le librerie standard di Python. Abbiamo visto come generare numeri casuali, gestire il tempo e fornire feedback all´utente. Questi concetti possono essere applicati in vari progetti, rendendo Python uno strumento potente e flessibile per lo sviluppo di giochi e applicazioni interattive.

Approfondisci con risorse ufficiali

SHARE