Foros Python

Versión completa: Resultado de función is_year_leap
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
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]
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