Witam,
Piszę program rozpoznający liczby pierwsze. Oto co mam do tej pory:
# Program "Liczby pierwsze"
def is_prime(x):
for i in range[2, int(x)]: # zakres liczb od 2 do danej liczby - 1
if x % i == 0: # jeśli któraś z liczb z tego zakresu dzieli sprawdzaną liczbę bez reszty zwróć NIE
return "NIE"
return "TAK"
n = int(input()) # wprowadzanie liczby testów
if n < 100000 and n > 0: # czy liczba testów mieści się w żądanym zakresie
while n > 0:
number = int(input()) # wprowadzanie sprawdzanej liczby
if number >= 1 & number <= 10000: # czy liczba mieści się w żądanym zakresie
print (is_prime(number)) # wywołanie funkcji sprawdzającej i wyświetlenie
n -= 1 # dekrementacja pozostałej do końca liczby testów
Błąd jaki otrzymuje to:
Traceback (most recent call last):
File "C:/Users/Piotr/Desktop/is_prime.py", line 14, in <module>
print (is_prime(number))
File "C:/Users/Piotr/Desktop/is_prime.py", line 4, in is_prime
for i in range[2, int(x)]:
TypeError: 'type' object is not subscriptable
Co jest z moim kodem nie tak?
Drugie moje pytanie to gdzie powinienem definiować funkcje: przed czy po kodzie programu głównego? Jaki jest ogólnie przyjęta kolejność definiowania (klasy, funkcje, zmienne, reszta programu)?