Если break
включен в цикл for / else в Python, блок else
никогда не выполняется. Следовательно, None
возвращается по умолчанию. Это почти наверняка является основной причиной вашей ошибки.
Ваша функция, вероятно, должна выглядеть следующим образом:
def __next__(self):
num = self.n1
self.n1 += 1
for x in range(2, num):
if num % x == 0:
break
return num
(Хотя теперь, когда я смотрю на это, цикл for
, вероятно, долженбыть циклом while
, я не уверен, что ваша логика здесь верна)
для / еще ссылки