Yo lo hubiera hecho así, no se si es mejor o peor, más eficiente o
menos, pero para mi es más legible. (como siempre supongo que para
gustos... colores)
suma = 0
for i in range(0,1000):
x = i%3
if x == 0:
suma+=i
else:
y = i%5
if y == 0:
suma+=i
print(suma)
El 03/09/18 a las 21:11, AGTUGO escribió:
"""
Problema tomado de
https://projecteuler.net/problem=1
If we list all the natural numbers below 10 that are multiples
of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23.
Find the sum of all the multiples of 3 or 5 below 1000.
Si listamos todos los numeros naturales menores a 10 que son
múltiplos de 3 o 5 obtenemos 2, 5, 6 y 9. La suma de los múltiplos es 23.
Encuentra la suma de los múltiplos de 3 o 5 menores de 1000.
"""
"""
Este es mi aporte de código no esta diseñado para ser eficiente,
el objetivo es jugar con el lenguaje. Ojalá puedan compartir
una visión interesante de como resolver este problema.
Si tienen una forma más eficiente de hacer el set o más elegante
también es bienvenido.
Saludos.
"""
import itertools
begin = 0
end = 1000
multiples= (3,5)
x = [range(begin,end,i) for i in multiples]
x = sum(set(itertools.chain(*x)))
print(x)
--
Arturo Muñoz Tolosa
_______________________________________________
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
_______________________________________________
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es