  Programming Questions

• Newest
• Popular Tags
• Ask Question
• ThreeFive Multiples Incorrect Test Case
I'm getting incorrect outputs for test case for input == 31 and 17. I checked the math and the outputs are 270 and 75 respectively, which I think are correct. Please advise. ``` def ThreeFiveMultiples(num): multiples = [] for i in range (0, num, 5): multiples.append(i) for j in range (0, num, 3): multiples.append(j) # code goes here total = sum(multiples) return total # keep this function call here # to see how to enter arguments in Python scroll down print ThreeFiveMultiples(raw_input()) ``` tomsun posted this question on 4/7/15 |
Answers
• +
• 10
• -
• It looks like if the number a multiple of 5 and 3 you are counting them twice.
• +
• 1
• -
• Just a minor issue but the code fails because raw_input() expects a string but your code is treating num as an int. try the following change. ``` def ThreeFiveMultiples(num): num = int(num) multiples = [] for i in range (0, num, 5): multiples.append(i) for j in range (0, num, 3): multiples.append(j) # code goes here total = sum(multiples) return total # keep this function call here # to see how to enter arguments in Python scroll down print ThreeFiveMultiples(raw_input()) ``` when I tested the outputs I got were 270 and 75 with your inputs.
• +
• 0
• -
• To display code include the following tags: ``` def ThreeFiveMultiples(num): multiples = [] for i in range (0, num, 5): multiples.append(i) for j in range (0, num, 3): multiples.append(j) # code goes here total = sum(multiples) return total print ThreeFiveMultiples(int(raw_input())) ``` raw_input returns string, it has to be converted to int
Log in to write an answer.