sábado, 4 de mayo de 2024

Determinar si un año es bisiesto o no en Python

Esta vez se trata de una función que reciba un parámetro (el año) y devuelva True o False según que el año sea o no bisiesto.

Se recuerda que los años bisiestos son múltiplos de 4, pero los múltiplos de 100 no lo son, aunque los múltiplos de 400 sí.

Estos son algunos ejemplos de posibles respuestas: 2012 es bisiesto, 2010 no es bisiesto, 2000 es bisiesto, 1900 no es bisiesto.

def es_bisiesto(año):
  """
  Función que determina si un año dado es bisiesto o no.

  Argumentos:
    año (int): El año que se quiere verificar.

  Retorno:
    bool: True si el año es bisiesto, False en caso contrario.
  """
  if año % 4 != 0:
    return False
  elif año % 100 == 0 and año % 400 != 0:
    return False
  else:
    return True

# Solicitar el año al usuario
año = int(input("Ingrese un año: "))

# Evaluar si el año es bisiesto
if es_bisiesto(año):
  print(f"{año} es un año bisiesto")
else:
  print(f"{año} no es un año bisiesto")

          

Explicación del código:

  1. Función es_bisiesto:
    • Esta función toma un entero año como argumento.
    • Primero, verifica si el año es divisible por 4. Si no lo es, no es bisiesto y la función devuelve False.
    • Si el año es divisible por 4, se verifica si también es divisible por 100.
      • Si es divisible por 100, pero no por 400, no es bisiesto y la función devuelve False.
      • Si es divisible por 400, sí es bisiesto y la función devuelve True.
  2. Solicitud del año al usuario:
    • Se utiliza la función input() para solicitar al usuario que ingrese un año.
    • El valor ingresado se convierte a un entero usando int().
  3. Evaluación y mensaje:
    • Se llama a la función es_bisiesto() para determinar si el año ingresado es bisiesto.
    • Si la función devuelve True, se imprime un mensaje indicando que el año es bisiesto.
    • Si la función devuelve False, se imprime un mensaje indicando que el año no es bisiesto.

Ejemplo de ejecución:

 

Ingrese un año: 2020
2020 es un año bisiesto

Otro ejemplo:

Ingrese un año: 2100
2100 no es un año bisiesto

Este código proporciona una forma simple y clara de verificar si un año dado es bisiesto en Python. La función es_bisiesto() maneja correctamente las diferentes reglas para determinar si un año es bisiesto, y el código principal facilita la interacción con el usuario para obtener y procesar el año a verificar.

No hay comentarios:

Publicar un comentario

7 razones para no usar Laravel en tu proyecto de PHP

En más de 40 años de experiencia como programador y director de proyectos de programación, he aprendido que cada requerimiento tiene mejores...