Вернуть список чисел но в обратном порядке
Нужна помощь, есть класс который возвращает список простых чисел:
class LowerPrime:
def __init__(self, number: int):
self.lower_numbers = []
self.number = number
self.it = 1
def __iter__(self):
self.it = 1
return self
def get_lower_numbers(self):
self.it += 1
for lower in self.lower_numbers:
if self.it % lower == 0:
return False
return True
def __next__(self):
while self.it < self.number:
if self.get_lower_numbers():
self.lower_numbers.append(self.it)
return self.it
else:
raise StopIteration()
lower_prime = LowerPrime(number=11)
lower_prime_it = iter(lower_prime)
print(next(lower_prime_it)) # == 7
print(next(lower_prime_it)) # == 5
print(next(lower_prime_it)) # == 3
print(next(lower_prime_it)) # == 2
Но при возврате простого числа, он возвращает простые числа в обратном порядке, нужно например 7, 5, 3, 2 он возвращает 2, 3, 5, 7. Также нужно что бы при наличии наименьшего простого 2 возвращалось raise StopIteration.