Esercizio con Python: il gioco “Forbice, Sasso, Carta”
Il gioco di Forbice, Sasso, Carta è uno dei più semplici e conosciuti al mondo. Grazie a Python, possiamo facilmente creare una versione interattiva che ci permette di giocare contro il computer. In questo articolo, realizzeremo un programma che:
- Chiede all’utente di scegliere tra “forbice”, “sasso” o “carta”.
- Il computer seleziona casualmente una delle tre opzioni.
- Viene determinato il vincitore in base alle regole classiche del gioco.
- L’utente può decidere se giocare di nuovo o terminare la partita.
Scrivere il codice
Di seguito trovi il codice Python completo per giocare a Forbice, Sasso, Carta:
import random
def forbice_sasso_carta():
opzioni = ["forbice", "sasso", "carta"]
print("Benvenuto nel gioco Forbice, Sasso, Carta!")
while True:
scelta_utente = input("Scegli: forbice, sasso o carta? ").strip().lower()
if scelta_utente not in opzioni:
print("Scelta non valida. Riprova.")
continue
scelta_computer = random.choice(opzioni)
print(f"Il computer ha scelto: {scelta_computer}")
if scelta_utente == scelta_computer:
print("Pareggio! Riprova.")
elif (scelta_utente == "forbice" and scelta_computer == "carta") or \
(scelta_utente == "sasso" and scelta_computer == "forbice") or \
(scelta_utente == "carta" and scelta_computer == "sasso"):
print("Hai vinto!")
else:
print("Hai perso! Riprova.")
riprova = input("Vuoi giocare di nuovo? (sì/no): ").strip().lower()
if riprova != "sì":
print("Grazie per aver giocato!")
break
# Avvio del gioco
forbice_sasso_carta()
Spiegazione del codice
- Scelta dell’utente: Il programma chiede all’utente di inserire “forbice”, “sasso” o “carta”.
- Scelta casuale del computer: Il computer seleziona una delle tre opzioni in modo casuale.
- Determinazione del vincitore: Viene controllato chi ha vinto secondo le regole del gioco:
- La forbice batte la carta.
- Il sasso batte la forbice.
- La carta batte il sasso.
- Gestione del ciclo di gioco: Dopo ogni partita, l’utente può decidere se giocare di nuovo o terminare.
Questo gioco è un ottimo esercizio per imparare Python, specialmente per chi vuole praticare input dell’utente, strutture condizionali e generazione di numeri casuali. Può essere migliorato aggiungendo un sistema di punteggio, una grafica o persino trasformandolo in un’app interattiva con una libreria come Tkinter o Pygame. Buon divertimento con Python!