Multiples of 3 and 5 With Python


The challenge

This multiples of 3 and multiples of 5 challenge is a variation of the common FizzBuzz question.


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.

Finish the solution so that it returns the sum of all the multiples of 3 or 5 below the number passed in.

Note: If the number is a multiple of both 3 and 5, only count it once.

Test cases

test.describe("Multiples of 3 and 5")

test.it("should handle basic cases")
test.assert_equals(solution(10), 23)

The solution in Python

# take in a number
def solution(number):
    # create a list to populate
    answers = []
    
    # loop through all numbers in the range
    for i in range(number):
        # if divisible by 3 or 5 and within range
        if (i%3==0 or i%5==0) and i<number and i>0:
            # add to the answers list
            answers.append(i)
        
    # return the sum of the answers
    return sum(answers)