Para este post hacemos un juego simple muy popular, llamado piedra papel o tijera
Se hará uso de los conceptos explicados en el curso de “Fundamento de Python”, tales como:
Input, declarar variables, funciones, tuplas, condicionales y operadores. Todo esto aplicado para la elaboración de un juego,
Como se juega: el usuario y la computadora pueden elegir entre piedra, papel o tijera. Ganas si aciertas bajo estas condiciones: piedra le gana a tijera, tijera gana a papel, papel gana a piedra. En el caso de darse una igualdad, se repite la jugada hasta que gane o pierda el usuario.
Para realización de dicho juego empezaremos por definir el input del usuario y la base de datos de la computadora. Como tema buenas practicas definiremos una función llamada “usuario” y su respectivos comentarios , la cual abarcara lo dicho anteriormente, tal como se muestra en la siguiente código:
<#vamos a declarar la funcion random
import random>
<def usuario(): #las funciones se crean en primer lugar y luego los ciclos o bucles
user:str
user_input=input("Digite piedra/papel/tijera: ")
user=user_input.lower() # para convertir el input en minuscula
#decaramos una lista o arreglo para la computadora
computadora=("piedra","papel","tijera")
print(type(computadora))
aleatorio= random.choice(computadora) # para elegir aleatoriamente dentro de la lista
return user,aleatorio # se devuelven 2 variables>
- Lo siguiente que debemos hacer es un bucle con el “while” con la condicion de que i se menor que 3. la razon es para tener un bucle o loop indefinido dado el caso de darse empates seguidos en el juego. Si se da el caso de utilizar un loop for estaremos limitando las veces en que pueda haber empates.
<while i<3: # se utiliza el ciclo while para los casos donde hay empate
user1:str
aleatorio1:str
user1,aleatorio1= usuario() #llamo a la funcion(dentro del bucle) usuario para que haga el input del juego
if user1==aleatorio1:
print(f"Ambos sacaron {user1}, se repite la tirada")
i=1
elif (user1=="piedra" and aleatorio1=="tijera") or (user1=="papel" and aleatorio1=="piedra") or (user1=="tijera"and aleatorio1=="papel"):
print("!!!Ganastes!!!, Felicidaes")
i=3
else:
i=3
print("Has perdido, lo sentimos =(")
print(f"la computadora ha elegido {aleatorio1} ")>
Como se dieron se utilizaron los operadores “and” y “or” para que si o si se den las condiciones del juego, ademas de simplificar los condicionales “if”, “elif” y “else” de tener muchos condicionales.
Nota: las funciones se definen primero que los loops
Curso de Fundamentos de Python