Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Joe Fraddy en 17 Febrero 2015, 22:56 pm



Título: Comprensión de lista en python
Publicado por: Joe Fraddy en 17 Febrero 2015, 22:56 pm
Bueno las instrucciones son estas, tal vez no lo entendí:

01. Usá una comprensión de lista para crear una lista, cubos_por_cuatro.
02. La comprensión debe consistir en los cubos de los números del 1 al 10 que son divisibles por cuatro.
03. Finalmente, mostrá con print esa lista en la ventana de Resultados.

Y el código que hice es este:

Código
  1. cubos_por_cuatro=[c for c in range(1,10) if (c*2) % 4 == 0]
  2. print cubos_por_cuatro

Si corre bien, el resultado es:

Código:
[2, 4, 6, 8]
None

Pero el error es que para que el ejercicio valga tenga cuatro valores:
Parece que cubos_por_cuatro no tiene el largo adecuado. Tiene que tener 5 valores.


Título: Re: Comprensión de lista en python
Publicado por: Once en 17 Febrero 2015, 23:27 pm
La parte de Python la tienes bien, lo que tienes mal es la parte matemática, el cubo de un número es el número al exponente 3 o el número multiplicado por si mismo tres veces.

Además, cuando haces for c in range(1, 10) en realidad estás recorriendo los números del 1 al 9

Ésta sería la correción:

Código
  1. cubos_por_cuatro=[c ** 3 for c in range(1,11) if (c**3) % 4 == 0]
  2. print cubos_por_cuatro

Citar
[8, 64, 216, 512, 1000]

Saludos!


Título: Re: Comprensión de lista en python
Publicado por: Joe Fraddy en 18 Febrero 2015, 00:15 am
Excelente, si tenias razón, el código corrió bien, pero de hecho antes le ponía 11 y me daba un error, pero supongo que era debido a que no estaba bien la operación, pues yo la estaba haciendo al cuadrado, mientras que era al cubo.

saludos!!!