¡Te damos la bienvenida a este reto!

1

Empezando con Python desde 0

Día 1

2

Variables, funciones y sintaxis básica

3

Tipos de datos: Numbers, Strings y Diccionarios

4

Playground - Retorna el tipo

Día 2

5

Operadores

6

Playground - Calcula la propina

Día 3

7

Condicionales

8

Playground - Averigua si un año es bisiesto

9

Ciclos

10

Playground - Dibuja un triangulo usando bucles

Día 4

11

Listas

12

Encuentra a los gatitos más famosos

13

Diccionarios

14

Obtén el promedio de los estudiantes

15

Tuplas

16

Obten la información de los paquetes

Día 5

17

Calcula la cantidad de letras en una oración

18

Encuentra el mayor palíndromo

Día 6

19

Sets

20

Encuentre la intersección de conjuntos

Día 7

21

List comprehension

22

Encuentra palabras con dos vocales

23

Dictionary Comprehension

24

Calcula la longitud de las palabras

Día 8

25

Funciones Lambda

26

Filtra mensajes de un user específico

27

Higher order functions

28

Crea tu propio método map

Día 9

29

Manejo de Errores y excepciones

30

Maneja correctamente los errores

31

Maneja las excepciones

Día 10

32

Playground - Crea un task manager usando closures

Día 11

33

Lectura de archivos de texto y CSV

Día 12

34

Programación orientada a objetos

35

Crea un auto usando clases

Día 13

36

Abstracción en Python

37

Playground - Crea un sistema de carrito de compras

38

Encapsulamiento en Python

39

Playground - Encapsula datos de los usuarios

Día 14

40

Herencia en Python

41

Playground - Jerarquía de animales usando herencia

Día 15

42

Polimorfismo en Python

43

Playground - Implementa un sistema de pagos

Día 16

44

Estructuras de datos en Python

45

Playground - Crea tu propia lista en python

46

Hash tables en Python

47

Playground - Implementación de una HashTable para Contactos

Día 17

48

Maps en Python

49

Playground - Crea un task manager con Maps

Día 18

50

Singly Linked List en Python

51

Playground - Implementación de una singly linked list

Día 19

52

Stacks en Python

53

Playground - Implementación de un stack

Día 20

54

Queues en Python

55

Playground - Implementación de una queue

Día 21

56

¡Lo lograste!

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Playground - Averigua si un año es bisiesto

8/56

Aportes 89

Preguntas 3

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Mi solucion

def is_leap_year(year):
    # tu código aquí 👈
    if year > 0:
        if(year % 4 == 0) and (year % 100 != 0):
            return True
        elif (year % 100 == 0) and (year % 400 == 0):
            return True
        else:
            return False
    else:
        return False


result = is_leap_year(-2004)
print(result)
def is_leap_year(year):
    # Revisa si el año es un entero positivo
    if not isinstance(year, int) or year <= 0:
        return False

    # Revisa si el año es divisible entre 4, 100 o 400
    if year % 4 == 0 and (year % 100 != 0 or year % 400 == 0):
        return True

    return False

La solución comienza evaluando si el año es un entero positivo. Posteriormente evalúa en una sola línea las condiciones que hacen a un año bisiesto tomando en cuenta el siguiente diagrama:

Soy nuevo en Python y batalle bastante pero al fin pude, o eso creo jejejeje!

Mi código: ![](https://static.platzi.com/media/user_upload/image-44011c05-456d-439b-bce1-091f6cdc7c20.jpg)
```python def is_leap_year(year): # tu código aquí 👈 year_is = False if year < 0: return year_is elif year % 4 == 0 and year % 100 != 0: return not year_is elif year % 100 == 0 and year % 400 == 0: return not year_is else: return year_is ```def is\_leap\_year(year):    # tu código aquí 👈    year\_is = False    if year < 0:        return year\_is    elif year % 4 == 0 and year % 100 != 0:        return not year\_is    elif year % 100 == 0 and year % 400 == 0:        return not year\_is    else:        return year\_is

Una vez lo hice lo refactorice, debo confesar, estaba bueno el reto, me costó bastante. Porque la guía confunde la parte de “Si es divisible por 100 debe serlo por 400 también.”, confunde porque el anterior enunciado decía, pero no por 100.
.

En wiki fue más claro:

.
Un año es bisiesto si es:

  • Divisible entre 4.
  • No divisible entre 100.
  • Divisible entre 400. (2000 y 2400 son bisiestos pues aún siendo divisibles entre 100 lo son también entre 400. Pero los años 1900, 2100, 2200 y 2300 no lo son porque solo son divisibles entre 100).

para establecer si un año dado es bisiesto: es bisiesto si es divisible entre cuatro y (no es divisible entre 100 o es divisible entre 400).


.
.
.
.

def is_leap_year(year):
    if year%4==0 and year%100 !=0 and year >0:
        return True
    elif year%100==0 and year%400==0 and year >0:
        return True
    else:return False

Mi solución:
.
.
.
.
.
.
.
.
.
.

def is_leap_year(year):
    if year % 4 == 0 and year > 0:
        if year % 100 != 0: return True
        elif year % 400 == 0: return True
        else: return False
    else: return False
![](https://static.platzi.com/media/user_upload/image-dceb9757-b900-48c4-826c-754fcf9ec479-8f2ce437-4f59-4bfc-8940-e8e6a8edc8e5.jpg) Recuerden agregar el escudo anti espóiler, raza . . . . . ![](https://static.platzi.com/media/user_upload/image-e19cf7da-1910-440d-9db2-cb809d55f859.jpg)
Este fue mi código, papus. ![](https://static.platzi.com/media/user_upload/image-f9b39f0b-99a1-4331-bfa2-1797442a0bdb.jpg) Espero que les sea de ayuda :P
![](https://static.platzi.com/media/user_upload/image-522a1ac0-30d6-49a0-b7bf-4909b64ec75b.jpg) Desarrollo del ejercicio ```js def is_leap_year(year): # tu código aquí 👈 divisible_4 = year % 4 == 0 divisible_100 = year % 100 == 0 divisible_400 = year % 400 == 0 if type(year) == int and year >= 0: # Comprueba que sea un número entero y además que sea positivo if (divisible_4 and not divisible_100) or (divisible_100 and divisible_400): return True else: return False else: return False ```
Aqui mi respuesta: def is\_leap\_year(year):     if  (year < 0):         return False     elif (year%4 == 0 and year%100 !=0):         return True     elif (year%100 == 0 and year%400 == 0):         return True     else:         return False result = is\_leap\_year(2000) print(result)
Hola dejo mi respuesta, me gustaria su feedback: ```python def is_leap_year(year): if year > 0: if (year % 4 == 0 and year % 100 != 0) or (year % 100 == 0 and year % 400 == 0): return True else: return False else: return False ```def is\_leap\_year(year):    if year > 0:        if (year % 4 == 0 and year % 100 != 0) or (year % 100 == 0 and year % 400 == 0):            return True        else:            return False    else:        return False
def is\_leap\_year(year):    if year > 0:        if (year % 4 == 0 and year % 100 != 0) or (year % 100 == 0 and year % 400 == 0):            return True        else:            return False    else:        return False
\#Algo tarde! pero completado haha ```python def is_leap_year(year): # tu código aquí 👈 if year < 0: return False elif year % 4 == 0 and year % 100 != 0: return True elif year % 100 == 0 and year % 400 == 0: return True else: return False ```def is\_leap\_year(year):    *# tu código aquí 👈*    if year < 0:        return False    elif year % 4 == 0 and year % 100 != 0:        return True    elif year % 100 == 0 and year % 400 == 0:        return True    else:        return False
![](https://static.platzi.com/media/user_upload/image-5f5b735c-8514-4f48-901d-deee9b9fe48c.jpg) . . . * Creo que solo es necesario que sea divisible entre cuatro para que sea bisiesto, pero igual hice el ejercicio como indicaron. ```python def is_leap_year(year): # tu código aquí 👈 if year % 4 == 0 and not year % 100 == 0 and year >= 0: return True elif year % 100 == 0 and year % 400 == 0 and year >= 0: return True else: return False print(is_leap_year(2000)) print(is_leap_year(-2024)) print(is_leap_year(1984.25)) ```
````js def is_leap_year(year): if (year>0 and (year-(year//1))==0): if(year%4==0 and year%100!=0): return True elif (year%100==0 and year%400==0): return True else: return False else: return False biciesto = is_leap_year(2000) print(biciesto) biciesto = is_leap_year(-2024) print(biciesto) biciesto = is_leap_year(1984.25) print(biciesto) ```def is\_leap\_year(year):    if (year>0 and (year-(year//1))==0):        if(year%4==0 and year%100!=0):            return True        elif (year%100==0 and year%400==0):            return True        else:            return False    else:        return False    biciesto = is\_leap\_year(2000)print(biciesto)biciesto = is\_leap\_year(-2024)print(biciesto)biciesto = is\_leap\_year(1984.25)print(biciesto) ````
```js def is_leap_year(year): # Verificar si el año es un entero positivo if not isinstance(year, int) or year <= 0: return False # Un año es bisiesto si es divisible por 4 pero no por 100, a menos que sea divisible por 400 if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0): return True else: return False # Pruebas print(is_leap_year(2020)) # True, porque 2020 es divisible por 4 y no por 100 print(is_leap_year(1900)) # False, porque 1900 es divisible por 100 pero no por 400 print(is_leap_year(2000)) # True, porque 2000 es divisible por 400 print(is_leap_year(2023)) # False, porque 2023 no es divisible por 4 print(is_leap_year(0)) # False, porque 0 no es considerado un año válido print(is_leap_year(-4)) # False, porque los años negativos no son válidos print(is_leap_year(4.0)) # False, porque 4.0 no es un entero print(is_leap_year("2000")) # False, porque "2000" es una cadena de texto, no un entero ```def is\_leap\_year(year):    # Verificar si el año es un entero positivo    if not isinstance(year, int) or year <= 0:        return False     # Un año es bisiesto si es divisible por 4 pero no por 100, a menos que sea divisible por 400    if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):        return True    else:        return False \# Pruebasprint(is\_leap\_year(2020))   # True, porque 2020 es divisible por 4 y no por 100print(is\_leap\_year(1900))   # False, porque 1900 es divisible por 100 pero no por 400print(is\_leap\_year(2000))   # True, porque 2000 es divisible por 400print(is\_leap\_year(2023))   # False, porque 2023 no es divisible por 4print(is\_leap\_year(0))      # False, porque 0 no es considerado un año válidoprint(is\_leap\_year(-4))     # False, porque los años negativos no son válidosprint(is\_leap\_year(4.0))    # False, porque 4.0 no es un enteroprint(is\_leap\_year("2000")) # False, porque "2000" es una cadena de texto, no un entero
```python def is_leap_year(year): # tu código aquí 👈 if year <= 0 or type(year) is not int: return False else: if (year % 4 == 0 and year % 100 > 0) or (year % 100 == 0 and year % 400 == 0): return True return False ```
![](https://static.platzi.com/media/user_upload/image-33ff4287-2f81-4719-b82b-04dbe7d45e9b.jpg) ![](https://static.platzi.com/media/user_upload/image-12d7029b-d34f-4653-abb1-643a6dc97772.jpg)
![](https://static.platzi.com/media/user_upload/escudo-spoiler-bc9e627d-a2ca-4b97-a49f-dc5b3dcb8c9f.jpg) Aqui mi ejercicio: ```js def is_leap_year(year): if (year % 4 == 0 and year % 100 != 0) or (year % 100 == 0 and year % 400 == 0): print ("el año es Bisiesto") else: print ("el año NO es bisiesto") pass is_leap_year(2020) is_leap_year(2021) is_leap_year(2022) is_leap_year(2023) is_leap_year(2024) ```def is\_leap\_year(year):    if (year % 4 == 0 and year % 100 != 0) or (year % 100 == 0 and year % 400 == 0):        print ("el año es Bisiesto")    else:        print ("el año NO es bisiesto")    pass is\_leap\_year(2020)is\_leap\_year(2021)is\_leap\_year(2022)is\_leap\_year(2023)is\_leap\_year(2024)
`def is_leap_year(year):    # tu código aquí 👈    result = False    module  = year %4    if (year %4 == 0 and not year %100 == 0 and year > 0 and year == int(year)) or (year %100 == 0 and year %400 == 0 and year > 0 and year == int(year)) :        result = True    print(result)    print("Modulo",year == int(year))    pass`
Aquí voy: ```js def is_leap_year(year): # tu código aquí 👈 condicion0: bool = year >= 0 condicion1: bool = (year % 4) == 0 condicion2: bool = (year % 100)== 0 condicion3: bool = (year % 400) == 0 bisiesto= condicion0 and condicion1 and not condicion2 or condicion3 return bisiesto print (is_leap_year(-2008)) print (is_leap_year(1800)) print (is_leap_year(1900)) print (is_leap_year(2000)) ```
Me parece interesante partir agregandole la validación de tipo de dato y que sea positivo, después ir recién a los cálculos. No se a nivel de recursos cuanto consume la operación, pero siento que se simplifica ya que el código no pasa a la parte de operación matemática si el usuario carga un valor que no tiene sentido como un número negativo o decimal: ```python def is_leap_year(year): # tu código aquí 👈 #Solo considerará en el cáculo los años mayores a 0 que sean números enteros if year < 0 or type(year) != int: return False elif (year % 4 == 0 and year % 100 != 0) or (year % 100 == 0 and year % 400 == 0): return True print('2000 -->',is_leap_year(2000)) print('-2024 -->',is_leap_year(-2024)) print('1984.25 -->',is_leap_year(1984.25)) ```
```js def is_leap_year(year): # tu código aquí 👈 if year%4 == 0 and year%100==0: if year%100==0 and year%400==0: print("El año es bisiesto") elif year%4 < 1 or year%100<1: print("El año NO es válido") else: print("El año NO es bisiesto") is_leap_year(2000) is_leap_year(2001) is_leap_year(2000.458) ```def is\_leap\_year(year):    # tu código aquí 👈    if year%4 == 0 and year%100==0:        if year%100==0 and year%400==0:            print("El año es bisiesto")        elif year%4 < 1 or year%100<1:        print("El año NO es válido")    else:        print("El año NO es bisiesto") is\_leap\_year(2000)is\_leap\_year(2001)is\_leap\_year(2000.458)
Me da algo de pena que me sea tan fácil resolver todo con GPT, me acuerdo que pensar esto era frustrante, luego más frustrante, y luego increíble.. es como los puzzles
![](https://static.platzi.com/media/user_upload/image-b9328a1a-64e0-4ce5-b506-a0324843e29d.jpg)def is\_leap\_year(year):    # tu código aquí 👈    return ((year % 4 == 0 and year % 100 != 0) or \    (year % 100 == 0 and year % 400 == 0)) and \    year > 0    pass . . . . Solucion sin if ```js def is_leap_year(year): # tu código aquí 👈 return ((year % 4 == 0 and year % 100 != 0) or \ (year % 100 == 0 and year % 400 == 0)) and \ year > 0 pass ```
El año debe ser divisible entre 4.
El año no debe ser divisible entre 100.
Sin embargo, si el año es divisible entre 400, 

Entonces se considera bisiesto.
Entonces, la afirmación “es bisiesto si es divisible entre cuatro y (no es divisible entre 100 o es divisible entre 400)” es una forma precisa de expresar las reglas para determinar si un año es bisiesto. Esto significa que los años como 2000 y 2400 son bisiestos porque son divisibles entre 400, y los años como 1900, 2100, 2200 y 2300 no son bisiestos porque son divisibles entre 100 pero no entre 400.

No sé como colocar el escudo anti-spoiler, pero aqui estña:
.

def is_leap_year(year):
    # tu código aquí 👈
    if (year > 0) and (year % 100 != 0 and year % 4 == 0) or (year % 100 == 0 and year % 400 == 0):
      return True
    else:
      return False

if is_leap_year(2024):
  print("yes")
else:
  print("no")

Me permito compartir mi código, no sé por qué al inicio no pasaban las pruebas y luego sí pasó (era el mismo código).

def is_leap_year(year):
    condition1= year % 4
    condtion2 = year % 100
    condition3 = year % 400
    if year <= 0  and year % 1 <= 0:
        return (False)
    elif condition1 == 0 and condtion2 != 0:
        return(True)
    elif condtion2 == 0 and condition3 == 0:
        return(True)
    else:
        return(False)

result = is_leap_year(2024)
print(result)

def is_leap_year(year):
   if type(year) != str and year > 0 and type(year) == int:
       if year % 4 == 0 and year % 100 != 0:
           return True
       elif year % 100 == 0 and year % 400 == 0:           
           return True
       else:
           return False           
   else:
        return False

Les comparto mi solución:

def is_leap_year(year):
    # tu código aquí 👈
    if year < 0:
        return False
    elif type(year) == float:
        return False
    elif (year % 4 == 0 and year % 100 != 0) or (year % 100 == 0 and year % 400 == 0):
        return True
    else:
        return False
    pass

Un nuevo día, ojala pueda completar el reto dentro del tiempo

debería decir : Un año es bisiesto si cumple con - “cualquiera de las dos” - condiciones:

def is_leap_year(year):
if ((year % 100 != 0 and year % 4 == 0 ) or (year % 100 == 0 and year % 400 == 0)) and year > 0 :
return True
else:
return False

def is_leap_year(year):

if  (year > 0):
    if (year % 4 == 0 and  year % 100 != 0 ) and (year % 100 == 0 and year % 400 == 0):
        return True
    else:
        return False

una forma sin utilizar tanto if

def is_leap_year(year): 
    return ((year%4==0 and year%100!=0) or (year%100==0 and year%400==0)) and year>0


print(is_leap_year(-2024))

🛡️🛡️Escudo anti-spoilers🛡️🛡️

Mi solución al reto:

def is_leap_year(year):
    if year < 0 or type(year).__name__ != 'int': 
        return False
    if (year % 4 == 0 and year % 100 != 0) or (year % 100 == 0 and year % 400 == 0):
        return True
    else: 
        return False

.
.
.

def is_leap_year(year):
    return (year > 0) and (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0)
    

Listo!!!

Año = int(input(“Ingrese el año:”))
def Bisiesto(Año):
if (Año % 4 == 0) and (Año % 100 != 0):
return False
else:
return True
print(f" El año {Año} se considera como un año {Bisiesto(Año)} bisiesto")


*
*
*
*
me confundieron en la primera prueba pues a hora que se confunan los que lean mi codigo

def is_leap_year(year):
    # tu código aquí 👈
    CUATRO = 4
    CIEN = 100
    
    firt_condition = (1 - bool(year % CUATRO)) * bool(year % CIEN)

    second_condition = (1 - bool(year % CIEN)) * (1 - bool(year % (CUATRO * CIEN)))

    return bool((firt_condition + second_condition) * year > 0)

.
.
.
.
.
.
.
.
.
.
.
.
.
.
(




Mi solución:

# programa para calcular el año bisiesto

def is_leap_year(year):
    # tu código aquí
    if not (isFlotant(year) or isInt(year)):
        print("It's not a number!")
    elif (year<0):
        if (isInt(year) and year<0):
             print("Int Number: '{}' ".format(year), " is less than cero")
        elif (isFlotant(year)):
            if (year<0):
               print("Float Number: '{}'".format(year), " is less than cero")
            else:
               print("Number incorrect")
    elif (year%4 == 0 and year%100 != 0) or year%400 == 0:
        return True
    return False

def isInt(variable):
	try:
		int(variable)
		if (type(variable) == int):
			return True
		else:
			return False
	except:
		return False

def isFlotant(variable):
    try:
        float(variable)
        if (type(variable) == float):
            return True
        else:
            return False
    except:
        return False

#prueba
print("is_leap_year(""'a'""): ", is_leap_year("a"),"\n")

result = is_leap_year(-2024)
print("is_leap_year(-2024): ", result, "\n")

result = is_leap_year("-2024")
print("is_leap_year(""-2024""): ", result, "\n")

result = is_leap_year(-1984.25)
print("is_leap_year(-1984.25): ", result, "\n")

result = is_leap_year(1984.25)
print("is_leap_year(1984.25): ", result, "\n")

result = is_leap_year(2000)
print("is_leap_year(2000): ", result, "\n")

result = is_leap_year(1800)
print("is_leap_year(1800): ", result, "\n")

Solution:

.

def is_leap_year(year):
    if year >= 0:
        if (not year % 4 and year % 100) or not year % 100 and (not year % 400):
            return True
    return False

def is_leap_year(year):
    if year <= 0 and year % 1 != 0:
        return False
    else: 
        return year % 4 == 0 and (year % 100 != 0 or year % 400 == 0

Comparto mi solución:

def is_leap_year(year):
    # tu código aquí 👈
    if (year < 0):
        return False
    elif (year % 4 == 0 and year % 100 != 0):
        return True
    elif (year % 100 == 0 and year % 400 == 0):
        return True
    else:
        return False


result = is_leap_year(2031)
print("El año ingresado es bisiesto?")
print(result) 

Solución 😄…
.

.
.
.
.

def is_leap_year(year):
    if not isinstance(year, int) or year < 0:
        return False

    if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
        return True

    return False


*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*

def is_leap_year(year):
    if year <= 0:
        return False
    elif year % 4 == 0 and year % 100 != 0:
        return True
    elif year % 100 == 0 and year % 400 == 0:
        return True
    else: 
        return False

.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
def is_leap_year(year):
if year < 0 or isinstance(year, float):
return False
elif year % 400 == 0:
return True
elif year % 100 == 0:
return False
elif year % 4 == 0:
return True
else:
return False

def is_leap_year(year):
    return (year % 4 == and year > 0) and (year % 100 != 0 or year % 400 == 0)

‘’’

‘’’

def is_leap_year(year):
    return year > 0 and year % 4 == 0 and year % 100 != 0 or year % 400 == 0

Nota: Python tiene una función propia para hacer esto.

import calendar
def esBisiesto(year):
    return calendar.isleap(year)


.
.
.
.
.
.
.
.
.
.
Mi solución:

def is_leap_year(year):
    if year < 0:
        return False
    elif year % 4 == 0 and not year % 100 == 0:
        return True
    elif year % 100 == 0 and year % 400 == 0:
        return True
    else:
        return False
def is_leap_year(year):
    # tu código aquí 👈
    bisiesto = False

    if year < 0 or float(year) == year:
        bisiesto = False

    if year > 0:
        if (year % 4 == 0 and year % 100 != 0) or (year % 100 == 0 and year % 400 == 0):
            bisiesto = True
        
    return bisiesto

result = is_leap_year(2104)
print(result)

def is_leap_year(year):
    if year % 4 == 0:
        if year % 100 != 0 or year % 400 == 0:
            return True
    return False

response = is_leap_year(2000)
print(response)

Yo lo resolví de la siguiente forma

def is_leap_year(year):
    # tu código aquí 👈
    if year >= 0:
        if year % 4 == 0 and not year % 100 == 0:
            return True
        elif year % 100 == 0 and year % 400 == 0:
            return True
        else:
            return False
    else:
        return False

fecha = is_leap_year(2000)
fecha = is_leap_year(-2024)
fecha = is_leap_year(1984.25)

No se si esto le sucede a alguien mas, o si es por mi navegador, pero cuando me equivoco en el primer intento y luego valido y hago pruebas para que esto no vuelva a suceder, y vuelvo a correr las pruebas, el sistema se pega y pierdo los intentos

Aquí la solución que hice

.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

def is_leap_year(year):
    if year < 0:
        return False    
    elif (float(year) % 4) == 0 and (year % 100) != 0:
        return True
    elif (float(year) % 100) == 0 and (year % 400) == 0:
        return True
    else:
        return False
    pass

print(is_leap_year(2000))
print(is_leap_year(-2024))
print(is_leap_year(1984.25))

segun ChatGPT

Alerta de Spoiler
:
:
:
:
def is_leap_year(year):
if isinstance(year, int) and year > 0:
if year % 4 == 0 and (year % 100 != 0 or year % 400 == 0):
return True
else:
return False
else:
return False

Solicitar al usuario el año

while True:
try:
year = int(input("Ingrese un año (solo números enteros positivos): "))
break
except ValueError:
print(“Entrada inválida. Intente nuevamente.”)

Llamar a la función is_leap_year

if is_leap_year(year):
print(year, “es un año bisiesto.”)
else:
print(year, “no es un año bisiesto.”)

pass

def is_leap_year(year):
    # tu código aquí 👈
    if year < 0:
        return False
    elif (year % 4 == 0 and year % 100 != 0):
        return True
    elif (year % 100 == 0 and year % 400 == 0):
        return True
    else:
        return False        

bisiesto = is_leap_year(1984.25)
print (bisiesto)```


.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

Mi solucion

.
.
.
.

.
.
.

Mi aporte

def is_leap_year(year):

    if year < 0:
        return False

    if year % 4 == 0 and year % 100 != 0 or year % 100 == 0 and year % 400 ==0:
        return True

    return False

Mi solución:

def is_leap_year(year):
    if year < 0:
        year *= -1
        return False
    if year % 4 == 0 and year % 100 != 0:
        return True
    elif year % 100 == 0 and year % 400 == 0:
        return True
    else:
        return False


.
.
.
.
.
.
.
.

Aquí ya me salío de una forma que me pregunte el año con un input:

# 08 - Averigua si un año es bisiesto

def is_leap_year():

  year = float(input("Cual es el año: "))
  
  if (year % 4 == 0) or (year % 100 == 0):
  
    print(f"el año {year} es bisiesto")

  elif (year % 100 == 0) and (year % 400 == 0):
    print(f"el año {year} es bisiesto")

  else:
    print(f"El año {year} no es bisiesto")

is_leap_year()
# Solución:

def is_leap_year(year):
    
    if year < 0:
        return False
    elif year % 4 == 0 and year % 100 != 0:
        return True
    elif year % 100 == 0 and year % 400 == 0:
        return True

    return False
    pass

Mi solución

Es increíble como un ejercicio tan sencillo puede tener tanas soluciones correctas, esta es una de las tantas maravillas que podemos encontrar en el camino cuando aprendemos a programar.
La programación es una herramienta que combinada con un poco de imaginación y creatividad podemos crear grandes cosas.
Este reto es solo el principio, por eso

#NuncaParenDeAprender

.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

def is_leap_year(year):
    # tu código aquí 👈
    if year <= 0: return False
    if year % 100 == 0 and year % 400 == 0: 
        return True
    elif year % 100 == 0:
        return False
    else:
        return year % 4 == 0

Listo !!!

def is_leap_year(year):
   if year > 0:
      if year % 4 == 0 and  year % 100 != 0 or year % 100 == 0 and year % 400 == 0:
         return True
      else:
         return False
   else:
      return False

print(is_leap_year(2000))
print(is_leap_year(-2024))
print(is_leap_year(1984.25))

Mi solución final

def is_leap_year(year):
    if year < 0:
        return False
    elif year % 4 == 0 and (year % 100 != 0 or year % 400 == 0):
        return True
    else:
        return False

Mi solucion considerando mayor a 0 y solo int

def is_leap_year(year):
    if year<=0 or type(year).__name__!='int':
        bi = False
    elif year%4 == 0 and year%100 != 0:
        bi = True
    elif  year%100==0 and year%400==0: 
        bi = True
    else: bi = False

    return bi

is_leap_year(2000)


.
.
.
.
.
.
.
.
.
.
.

def is_leap_year(year):
    return True if ((year % 4 == 0 and not year % 100 == 0) or (year % 100 == 0 and year % 400 == 0)) and year > 0 else False


.
.
.
.
.
.
.
.

def is_leap_year(year):
    if (year % 1 != 0 or year <= 0):
        return False
    else:
        if (year % 4 == 0 and year % 100 != 0) or (year % 100 == 0 and year % 400 == 0):
            return True
        return False
def is_leap_year(year):
    if year > 1582:
        if year % 4 == 0:
            if year % 100 == 0:
                if year % 400 == 0:
                   resultado = True
                else:
                   resultado = False    
            else:
                resultado = True
        else:
            resultado = False
    else:
        resultado = False

    return resultado


.
.
.

<def is_leap_year(year):

    if year < 0:
       return False

    if year % 4 == 0 and year % 100 != 0:
        return True
    elif year % 100 == 0 and year % 400 == 0:
        return True
    else:
        return False
        
    pass> 
def is_leap_year(year):
    if year > 0:
        return True if year%4==0 and (year%100!=0 or year%400==0) else False
    return False


.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.


.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.

def is_leap_year(year):
    # tu código aquí 👈
    if isinstance(year,int) and year <= 0:
        return False
    
    if year%4 == 0 and year%100:
        return True
    elif year%100 == 0 and year%400==0:
        return True
    else:
        return False


.
.
.
.
.
.
.
.

def is_leap_year(year):
    if year % 4 == 0 and (year % 400 == 0 or year % 100 != 0) and year > 0 and year == int(year):
        return True
    else:
        return False
    pass


.
.
.
.
.
.
.

Una solución

def is_leap_year(year):
    if year % 100 == 0 and year % 400 == 0 and year > 0:
        return True        
    if year % 4 == 0 and year % 100 !=0 and year > 0:
        return True
    else:
        return False


.
.
.
.
.
.
.

def is_leap_year(year):
    # tu código aquí 👈
    if not isinstance(year,int):
        return False

    if year < 0:
        return False

    return ((year % 100 == 0 and year % 400 == 0) or (year % 4 == 0 and not (year % 100 == 0)))
def is_leap_year(year):
    if year % 1 != 0 or year <=0:
      return False

    if year % 4 == 0 and (year % 100 != 0 or year % 400 == 0):
        return True
    else:
        return False


.
.
.
.
.
.
.
.

def is_leap_year(year):
    result = False
    if (type(year) == int) and (year >= 0):
        result = (year % 4 == 0) and (year % 100 != 0)
        if (not result):
            result = (year % 4 == 0) and (year % 100 == 0)
            result = result and (year % 400 == 0)
    return result
undefined