(Project Euler #1) Find the sum of all the multiples of 3 or 5 below 1000 I have decent experience in programming before (mostly C++), but I am very, very, very new to Python, and I decided to try out Project Euler as an exercise.  Here's the description of Problem 1:


  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.


Here's my solution:

sum = 0
for n in range(0, 1000):
    if n % 3 == 0 or n % 5 == 0:
        sum += n
print(sum)


The program works fine.  What I want to get from a code review:


whether I did anything non-Pythonic;
whether I did anything outdated;
whether I did anything against the PEP 8;
whether there's a better way of doing this;
...
The keyword sum is a built in function and you shouldn't name variables from within the reserved keywords.

Here's a list of the most common used keywords which you shouldn't be naming any of your variables: 

[False, class, finally, is, return, None, continue, for, lambda, try, True, def, from, nonlocal, while, and, del, global, not, with, as, elif, if   or, yield, assert, else, import, pass, break, except, in, raise]

And for the built-in functions check https://www.programiz.com/python-programming/methods/built-in

for n in range(0, 1000):


Can be written for n in range(1000):

The range() function as well as the whole Python is zero-indexed.

You might also want to use comprehension syntax (which is much more efficient than explicit loops) and enclose it inside a function like this:

def get_multiples(upper_bound):
    """Return sum of multiples of 3 and multiples of 5 within specified range."""
    return sum(number for number in range(upper_bound) if not number % 3 or not number % 5)