fork download
  1. from datetime import datetime
  2.  
  3. def leer_fecha_nacimiento():
  4. """
  5. Solicita al usuario que introduzca una fecha de nacimiento por teclado.
  6. Returns:
  7. Tres enteros: dia, mes, anio
  8. """
  9. print("Fecha de nacimiento")
  10. dia = int(input("Introducir día: "))
  11. mes = int(input("Introducir mes: "))
  12. anio = int(input("Introduce año: "))
  13. return dia, mes, anio
  14.  
  15. def calcular_edad(dia_fn, mes_fn, anio_fn):
  16. """
  17. Calcula la edad en años a partir de una fecha de nacimiento.
  18. Args:
  19. dia_fn (int): Día de nacimiento
  20. mes_fn (int): Mes de nacimiento
  21. anio_fn (int): Año de nacimiento
  22. Returns:
  23. int: Edad en años cumplidos
  24. """
  25. ahora = datetime.now()
  26. edad = ahora.year - anio_fn
  27. if mes_fn > ahora.month or (mes_fn == ahora.month and dia_fn > ahora.day):
  28. edad -= 1
  29. return edad
  30.  
  31. def mostrar_resultado(edad):
  32. """
  33. Muestra por pantalla si la persona es mayor o menor de edad.
  34. Args:
  35. edad (int): Edad en años cumplidos
  36. """
  37. if edad >= 18:
  38. print(f"Es mayor de edad ({edad} años)")
  39. else:
  40. print(f"Es menor de edad ({edad} años)")
  41.  
  42. # Programa principal
  43. dia_fn, mes_fn, anio_fn = leer_fecha_nacimiento()
  44. edad = calcular_edad(dia_fn, mes_fn, anio_fn)
  45. mostrar_resultado(edad)
Success #stdin #stdout 0.09s 14048KB
stdin
14
4 
2008
stdout
Fecha de nacimiento
Introducir día: Introducir mes: Introduce año: Es mayor de edad (18 años)