from math import sqrt
def liczbapierwsza(od, do):
lista = []
for i in range(od, do):
if (i % 2 or i % 3 or i % 5) == 0:
lista.append("nie" + str(i))
continue
for x in range(2,int(sqrt(i)) + 1):
if (i % x) == 0:
lista.append("nie")
break
else:
lista.append("tak" )
print(lista)
liczbapierwsza(2, 10001)
jak widać gdy liczba jest podzielna przez 2 lub 3 lub 5 - do napisu nie jest dopisywana jaka to jest liczba. Zamiast pokazywać mi przy liczbie np. 10 - nie10 to pokazuje mi tylko nie. A to dlatego, ze liczba nie jest podzielna przez 3 i 5... Powiem tak, do continue wchodzi tylko gdy liczba jest podzielna przez te 3 liczby a ja docelowo chciałbym aby przez obojętnie jaką była a nie 3 jednoczenie... chodzi mi konkretnie o ten fragment
if (i % 2 or i % 3 or i % 5) == 0:
lista.append("nie" + str(i))
continue
dla liczby 30 wejdzie a dla 32 nie, mimo że powinno moim zdaniem