Para el Día 17 del reto "365 Days of Python" en clcoding.com, el contenido principal se centra en un programa práctico. Cabe mencionar que clcoding suele publicar dos tipos de contenido diario: un programa (proyecto) y un desafío de lógica (quiz).
Aquí tienes los detalles de ambos para el Día 17:
1. Programa del Día 17: Encontrar todos los divisores de un entero
Este es el contenido principal del reto de programación. El objetivo es escribir una función que reciba un número y devuelva una lista con todos sus divisores.
Código de ejemplo:
>>def check_divisor(number):
>> number = abs(number) # Asegura que funcione con números negativos
>> divisors = []
>> for i in range(1, number + 1):
>> if number % i == 0:
>> divisors.append(i)
>> return divisors
>># Solicitar entrada al usuario
>>num = int(input("Introduce un número entero: "))
>>print(f"Los divisores de {num} son: {check_divisor(num)}")
>>>Introduce un número entero: 5
Los divisores de 5 son: [1, 5]Explicación:
Se usa
abs()para manejar números negativos.Se recorre un rango desde 1 hasta el número inclusive.
Si el residuo de la división (
%) es cero, el número es un divisor y se añade a la lista.
2. Python Coding Challenge (Quiz de Lógica) - Día 17
Si te refieres al desafío tipo "adivina la salida" (output), el reto del Día 17 suele ser el siguiente:
Código del desafío:
>>x = "PythonCoding"
>>y = False
>>z = int(x[2:6] == "thon")
>>print(z)
Resultado y explicación:
Salida:
1Por qué: 1.
x[2:6]realiza un slicing de la cadena "PythonCoding" desde el índice 2 hasta el 5, resultando en la palabra"thon". 2. La comparación"thon" == "thon"devuelveTrue. 3.int(True)convierte el valor booleano en entero, que en Python es1.
3. Bonus: Errores comunes (Python Mistakes - Día 17)
En su serie de "errores que todos cometen", el Día 17 trata sobre: Asumir que list.copy() es una copia profunda (Deep Copy).
Explica que
.copy()solo hace una copia superficial (shallow copy), por lo que si tienes listas anidadas, los cambios en la sublista de la copia afectarán a la original. La solución es usarimport copyycopy.deepcopy().
¿Te gustaría que profundice en alguno de estos puntos para tu podcast o que te ayude con otro día del reto?