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 | python
    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.