Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Resultado de función is_year_leap
#1
Estoy tratando de modificar una lista despues de obtener True de una función, pero por alguna razón no me hace el cambio en la lista, alguien me podría explicar en que falle?

def is_year_leap(year):
   
    if year % 4 != 0:
        return False
    elif year % 4 == 0 and year % 100 != 0:
        return True
    elif year % 4 == 0 and year % 100 == 0 and year % 400 != 0:
        return False
    elif year % 4 == 0 and year % 100 == 0 and year % 400 == 0:
        return True
   
year = 2000
months= [31,28,31,30,31,30,31,31,30,31,30,31]
print(months)
is_year_leap (year)
print(is_year_leap (year)) # Aqui claramente se puede visualizar que la salida es True
if is_year_leap == True:
    months[1] = 29
print(months)



La salida del código es la siguiente:

[31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
True
[31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
Responder
#2
Hola, bienvenido/a.

Tenés que asignar el resultado de la función a una variable. Debería ser:

Código:
resultado = is_year_leap (year) # Aqui claramente se puede visualizar que la salida es True
if resultado == True:
    months[1] = 29

Saludos
¡No te pierdas nuestro curso oficial en Udemy para aprender Python, bases de datos SQL, orientación a objetos, tkinter y mucho más!

También ofrecemos consultoría profesional de desarrollo en Python para personas y empresas.
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)