Adding more to @pat answer, a function like the one below has no meaning because you can reNOT re-use for similar tasks. (Copied stripping comments and docstring.)
def find_multiples(): numbers = [] for i in xrange(1000): if not (i % 3) or not (i % 5): numbers.append(i) return numbers Instead put parametres at the start of your function in order to be able to reuse it.
def find_multiples(a,b,MAX): numbers = [] for i in xrange(MAX): if not (i % a) or not (i % b): numbers.append(i) return numbers