Solución al Ejercicio: Jugar piedra, papel o tijera
📋 Copiar código
import random
def jugar_piedra_papel_tijera():
"""
Implementa un juego de "Piedra, Papel, Tijera" para dos jugadores (usuario y computadora).
"""
opciones = ["piedra", "papel", "tijera"]
eleccion_computadora = random.choice(opciones)
while True:
eleccion_usuario = input("Elige piedra, papel o tijera: ").lower()
if eleccion_usuario in opciones:
break
else:
print("Elección inválida. Por favor, elige piedra, papel o tijera.")
print(f"\nTu elección: {eleccion_usuario}")
print(f"Elección de la computadora: {eleccion_computadora}")
if eleccion_usuario == eleccion_computadora:
print("¡Empate!")
elif (eleccion_usuario == "piedra" and eleccion_computadora == "tijera") or \
(eleccion_usuario == "papel" and eleccion_computadora == "piedra") or \
(eleccion_usuario == "tijera" and eleccion_computadora == "papel"):
print("¡Ganaste!")
else:
print("¡La computadora gana!")
# Iniciar el juego
jugar_piedra_papel_tijera()
Explicación del Código:
-
import random
:
- Importa el módulo
random
para que la computadora pueda elegir su jugada de forma aleatoria.
-
def
jugar_piedra_papel_tijera():
:
- Define una función llamada
jugar_piedra_papel_tijera
que contiene la lógica del juego.
-
opciones = ["piedra", "papel",
"tijera"]
:
- Se crea una lista con las posibles
opciones del juego.
-
eleccion_computadora =
random.choice(opciones)
:
- La computadora elige aleatoriamente una
opción de la lista
opciones
utilizando
random.choice()
.
-
while True:
:
- Se inicia un bucle
while
que
continuará hasta que el usuario ingrese una elección válida.
-
eleccion_usuario = input("Elige
piedra, papel o tijera: ").lower()
:
- Se le pide al usuario que ingrese su
elección y se convierte a minúsculas para facilitar la comparación.
-
if eleccion_usuario in
opciones:
:
- Se verifica si la elección del usuario es
una de las opciones válidas. Si lo es, se sale del bucle
while
con break
.
-
else:
:
- Si la elección del usuario no es válida,
se muestra un mensaje de error y el bucle continúa pidiendo una nueva
entrada.
-
Se imprimen las elecciones
del usuario y de la computadora.
-
Se determinan las condiciones para
cada posible resultado:
- Empate: Si las
elecciones son iguales.
- Gana el usuario: Se
verifican las combinaciones en las que el usuario gana (piedra contra
tijera, papel contra piedra, tijera contra papel).
- Gana la computadora: En
cualquier otro caso (donde no hay empate y el usuario no gana), la
computadora gana.
-
Se imprime el resultado del juego.
-
jugar_piedra_papel_tijera()
:
- Se llama a la función para iniciar el
juego cuando se ejecuta el script.
Este ejemplo es interactivo y te permite jugar
directamente desde la consola