Прежде всего, вы, кажется, запрашиваете все кратные 60. Они могут быть легко воспроизведены следующим образом (будьте осторожны, это бесконечный цикл):
from itertools import count
for i in count():
print i*60
Если вы просто упростили свой пример, это более питонное (и правильное) решение того, что вы написали (снова бесконечный цикл):
from itertools import count
# put any test you like in this function
def test(number):
return all((number % i) == 0 for i in range(1,6))
my_numbers = (number for number in count() if test(number))
for number in my_numbers:
print number
У вас была серьезная ошибка в исходном коде: range(1,5)
равно [1, 2, 3, 4]
, поэтому он не будет проверять, делится ли число на 5!
PS: Вы уже использовали эту безумную one = 1
конструкцию, и мы показали вам, как лучше ее кодировать. Пожалуйста, учитесь на наших ответах!