anio=input("Ingrese un año: ") #Un año es bisiesto si es divisible entre 4, #excepto aquellos divisibles entre 100 pero no entre 400. if anio % 4 == 0: if not anio %100==0: print "El año", anio, "es bisiesto" elif anio %400==0: print "El año", anio, "es bisiesto" else: print "El año", anio, "no es bisiesto" else: print "El año", anio, "no es bisiesto"
anio=input("Ingrese un año") if anio % 4 == 0 and (anio % 100 != 0 or anio % 400 == 0): print "El año es bisiesto" else: print "El año no es bisiesto"
como puedo puedo calcular los dias vividos de una persona ademas tomar en cuenta los años bisiestos
Podés hacerlo usando el módulo datetime de Python, que ya tiene en cuenta los años bisiestos automáticamente.Por ejemplo en Python 2.7:from datetime import datefecha_nacimiento = date(1990, 5, 10) # cambiar por la fecha realhoy = date.today()dias_vividos = (hoy - fecha_nacimiento).daysprint "Has vivido", dias_vividos, "días"No hace falta calcular los bisiestos manualmente porque datetime ya lo maneja internamente.
Te as equivocado en la función de resumen, es un AND, lo tienes alreves :):SI ((año divisible por 4) Y ((año no divisible por 100) O (año divisible por 400))) ENTONCES es bisiestoSINO no es bisiesto
Sí, esa es otra forma equivalente de expresarloLa condición completa que dices sería:(año % 4 == 0) and ((año % 100 != 0) or (año % 400 == 0))Mi versión larga hace exactamente esa comprobación pero en pasos separados con if anidados.Ambas formas son correctas, la diferencia es que una es más compacta y la otra más explícita para entender la lógica.
como puedo puedo calcular los dias vividos de una persona ademas tomar en cuenta los años bisiestos
ResponderEliminarPodés hacerlo usando el módulo datetime de Python, que ya tiene en cuenta los años bisiestos automáticamente.
EliminarPor ejemplo en Python 2.7:
from datetime import date
fecha_nacimiento = date(1990, 5, 10) # cambiar por la fecha real
hoy = date.today()
dias_vividos = (hoy - fecha_nacimiento).days
print "Has vivido", dias_vividos, "días"
No hace falta calcular los bisiestos manualmente porque datetime ya lo maneja internamente.
Te as equivocado en la función de resumen, es un AND, lo tienes alreves :):
ResponderEliminarSI ((año divisible por 4) Y ((año no divisible por 100) O (año divisible por 400))) ENTONCES
es bisiesto
SINO
no es bisiesto
Sí, esa es otra forma equivalente de expresarlo
EliminarLa condición completa que dices sería:
(año % 4 == 0) and ((año % 100 != 0) or (año % 400 == 0))
Mi versión larga hace exactamente esa comprobación pero en pasos separados con if anidados.
Ambas formas son correctas, la diferencia es que una es más compacta y la otra más explícita para entender la lógica.