Taller diseñado con el corazón de un docente y la mente de un programador.
Vamos a crear un programa en Python que clasifique a los jugadores según las horas que dedican a videojuegos por semana. Este es un problema perfecto para aplicar los 4 pilares del pensamiento computacional:
Dividimos el problema en partes más pequeñas y manejables: entrada de datos, validación, clasificación y salida de resultados.
Identificamos que la clasificación sigue un patrón de rangos numéricos y que la validación de entrada sigue un patrón repetitivo.
Nos centramos en lo esencial: transformar un número (horas) en una categoría, ignorando detalles innecesarios.
Diseñamos una serie de pasos lógicos que resuelven el problema de manera eficiente y comprensible.
Menos de 5 horas por semana
Entre 5 y 15 horas por semana
Más de 15 horas por semana
Aquí está el código completo que resuelve el problema. Está bien organizado y comentado para facilitar su comprensión:
# Programa para clasificar jugadores según horas de juego
# Taller "Python para pensadores" - Reto "Tipo de jugador"
# Mostrar mensaje de bienvenida
print("=========================================")
print(" CLASIFICADOR DE TIPO DE JUGADOR")
print("=========================================")
print("Este programa te clasificará según las horas")
print("que juegas videojuegos a la semana.")
print()
# Variable para controlar si el usuario quiere continuar
continuar = "si"
# Ciclo principal del programa
while continuar == "si":
# Pedir al usuario que ingrese las horas de juego
print("Por favor, ingresa cuántas horas juegas videojuegos a la semana:")
# Validar que la entrada sea un número válido
entrada_valida = False
while not entrada_valida:
horas_texto = input(">>> ")
# Verificar que se haya ingresado algo
if horas_texto == "":
print("Debes ingresar un número. Intenta nuevamente:")
continue
# Verificar que sea un número
es_numero = True
# Revisar cada caracter para asegurarnos que sea un número
for caracter in horas_texto:
if caracter < '0' or caracter > '9':
es_numero = False
break
if not es_numero:
print("¡Error! Debes ingresar un número entero. Intenta nuevamente:")
else:
# Convertir el texto a número
horas = int(horas_texto)
# Verificar que sea un número positivo
if horas < 0:
print("¡Error! No puedes jugar horas negativas. Intenta nuevamente:")
else:
entrada_valida = True
# Clasificar al jugador según las horas ingresadas
print()
print("=========================================")
print(" RESULTADO")
print("=========================================")
if horas < 5:
# Menos de 5 horas: Jugador casual
print("Juegas", horas, "horas a la semana.")
print("Tu clasificación es: JUGADOR CASUAL")
print("¡Disfrutas de los videojuegos sin que dominen tu tiempo!")
elif horas >= 5 and horas <= 15:
# Entre 5 y 15 horas: Jugador frecuente
print("Juegas", horas, "horas a la semana.")
print("Tu clasificación es: JUGADOR FRECUENTE")
print("¡Los videojuegos son un hobby importante para ti!")
else:
# Más de 15 horas: Gamer pro
print("Juegas", horas, "horas a la semana.")
print("Tu clasificación es: GAMER PRO")
print("¡Los videojuegos son una parte fundamental de tu vida!")
print("=========================================")
print()
# Preguntar si desea realizar otra clasificación
print("¿Deseas clasificar a otra persona? (escribe 'si' o 'no')")
continuar = input(">>> ").lower()
# Validar la respuesta
while continuar != "si" and continuar != "no":
print("Por favor, escribe 'si' o 'no':")
continuar = input(">>> ").lower()
print()
# Mensaje de despedida
print("=========================================")
print("¡Gracias por usar el clasificador de jugadores!")
print("Recuerda: lo importante es disfrutar jugando,")
print("sin descuidar otras actividades importantes.")
print("=========================================")
Prueba cómo funciona el programa ingresando horas de juego a continuación:
int()