[Tutor] Add all natural numbers that are multiples of 3 and 5
kent37 at tds.net
Sun Jan 4 04:43:08 CET 2009
On Sat, Jan 3, 2009 at 9:43 PM, Benjamin Serrato
<benjamin.serrato at gmail.com> wrote:
> I changed it to this:
> """Lists the sum of all multiples of 3 and 5 less than 1000."""
> def sumTotal(multipleInitial, multiple): # This awkward solution because
> total = 0 #
> mulitipleInitial = multiple just points
> n = 2 # a new
> variable to the same memory
You don't have to pass the duplicate arguments. It's true that
makes multipleInitial reference the same value as multiple, but
multiple = multipleInitial * n
make mulltiple refer to a new value while leaving multipleInitial alone.
This might help:
> while multiple < 1000: # space
> total = total + multiple
> multiple = multipleInitial * n
> n = n + 1
> return total
> print(sumTotal (3, 3) + sumTotal(5,5))
> I think it does what I wanted it to do, but Kent pointed out I wanted
> it to do was a false solution. So, I can create a list of all common
> multiples below 1000, sum them, subtract them from 266 333. Or, what
> I prefer, create a list of all multiples, checking against that list
> for a multiple before adding a new multiple. But, I don't know how to
> work with lists so I'll be back in a day or two.
You might want to look at the sum() and range() functions.
PS Please subscribe to the list.
More information about the Tutor