Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

¿Qué aprendimos?

Utilice esta forma por si el usuario intenta ingresar otra cosa que no sean numeros enteros y/o con decimales:

nombre = input("Ingrese su nombre: ")

#while True:
#  edad = input("Ingrese su edad: ")
#  if edad.isdigit():
#      edad = int(edad)
#      break
#  print("Solo se permiten números, intenta de nuevo.")   

#print(f"El nombre es {nombre} y la edad es {edad}")

#if edad >=18:
#    print(f"{nombre} usted puede ingresar al establecimiento porque tiene {edad} años")
#else:
#  print(f"{nombre} usted no puede entrar al establecimiento porque tiene {edad} años. \nPor lo tanto es menor de edad")


while True:
    promedio = input("Ingrese su promedio: ")
    try:
        promedio = float(promedio)
        break
    except ValueError:
      print("Solo se permiten números enteros y con decimales, intenta de nuevo.")

if promedio >= 7:
  print(f"{nombre} ha aprobado con {promedio}")
elif promedio >=5 and promedio <7:
  print(f"{nombre} va a recuperatorio con {promedio}")
else:
  print(f"{nombre} está aplazado con {promedio}")



1 respuesta

Hola, Gerardo! ¿Cómo vas?
Gracias por compartir tus reflexiones y aprendizajes con la comunidad Alura. Me gustó cómo pensaste en validar la entrada del usuario antes de hacer la comparación, ya que usar try y except ValueError ayuda a evitar que el programa se rompa cuando alguien escribe un valor no numérico.

Tu solución va muy bien y muestra una buena aplicación de condicionales con if, elif y else. Consejo: puedes simplificar la condición elif promedio >=5 and promedio <7 usando solo elif promedio >= 5, porque si el código llegó a ese punto, ya sabemos que promedio es menor que 7. Sigue practicando esa lógica de validación, porque es muy útil en programas interactivos. Cuenta con el apoyo del foro en tu viaje. Saludos y buenos estudios!