symple programming task

Joel Goldstick joel.goldstick at gmail.com
Sun Apr 20 15:15:27 EDT 2014


On Sun, Apr 20, 2014 at 3:02 PM, Chris Angelico <rosuav at gmail.com> wrote:

> On Mon, Apr 21, 2014 at 4:43 AM, Ivan Ivanivich <ivriabtsov at gmail.com>
> wrote:
> > [quot]
> > 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.
> > [/quote]
> >
> > this task from http://projecteuler.net/ site
> >
> > I wrote a solution in python
> >
> > http://pastebin.com/QXtNuRWU
> >
> > this script returned correctly result if "basis < 10", but if "basis <
> 1000" result is 266333 and it is not correctly answer on site
> http://projecteuler.net
>
> Try listing the actual numbers you're summing, and check if there's a
> problem there. Are all the numbers you expect appearing? Are any you
> don't want there?
>
> (I can see exactly what your problem is, but I'd rather give hints
> rather than simply tell you outright what's wrong.)
>
> ChrisA
> --
> https://mail.python.org/mailman/listinfo/python-list
>

I second Chris's comments.  Also, better to paste your code in email.  More
people will look at it, especially since it is short.

It looks like you are looping thru all the numbers twice -- once for each
divisor.  You don't need to do that.  You can loop thru and test for each
divisor on each loop.  You might want to ditch the while loop and use a for
loop over a range:

for i in range(1000):

Its a more pythonic idiom.  Also use 4 spaces, not 8 for indents.  Minor
points.

Print() is your friend

-- 
Joel Goldstick
http://joelgoldstick.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20140420/15ebc444/attachment.html>


More information about the Python-list mailing list