» Euler 1 (Python)
Project Euler es un sitio web que reta a los programadores a resolver problemas matemáticos mediante código. Me parece entretenido. Voy a ir resolviendo problemas y posteando mi solución en Python acompañada de comentarios sobre el código que puedan servirles a quienes están empezando a aprender el lenguaje.
Enunciado 1
Si listamos todos los números menores a 10 que son múltiplos de 3 o 5, obtenemos 3, 5, 6 y 9. La suma de esos múltiplos es 23.
Encontrar la suma de todos los múltiplos de 3 o 5 menores a 1000.
Solución
La solución fue obtenida en el intérprete interactivo de Python 2.5.2:
>>> def mults(n=10): ... r = [] ... for i in range(1, n): ... if i % 3 == 0: ... r.append(i) ... elif i % 5 == 0: ... r.append(i) ... return r ... >>> mults() [3, 5, 6, 9] >>> sum(mults()) 23 >>> sum(mults(n=1000)) 233168
Python tips
- En la definición de la función
multsse incluye un argumento por defectoncon valor10. Cuando más adelante se llama a esta función sin parámetros,ntoma el valor por defecto. - La función
range, incluida en el lenguaje devuelve una lista de números sobre la que se puede iterar. Muy útil para usar con la estructurafor. Más información haciendohelp(range)en el intérprete interactivo.






