Mam napisany w Pythonie algorytm do sprawdzenia, czy liczba jest pierwsza

1. Jak zrobić z tego pętle, żeby gdy reszta (i) będzie wynosić 1, to się zatrzymuje i wypisuje, że liczba jest pierwsza, a gdy liczba jest inna niż 1, to ponownie pyta o liczbe i powtarza aż do momentu gdy liczba jest pierwsza?

2. Jak zamienić, żeby zamiast return False i return True było napisane że liczba jest pierwsza lub nie?

import math
a = int(input("Podaj liczbę: "))
def czyPierwsza(a):
while True:
a = a+1
if a < 2:
return False
for i in (range(2, int(math.sqrt(a)))):
if a % i == 0:
return False
return True

print("Program sprawdzający, czy liczba jest liczbą pierwszą.")

print(czyPierwsza(a))



Odpowiedź :

Odpowiedź:

def czypierwsza(n):

   if n<2:return False

   for i in range(2,int(n**0.5)+1):

       if n%i==0:

           return False        

   return True

print("Program sprawdzający, czy liczba jest liczbą pierwszą.")

n = int(input("Podaj liczbę: "))

while not czypierwsza(n):

   n=int(input('Podana liczba nie jest liczbą pierwszą, podaj inną liczbę: '))

print('Podana liczba jest liczbą pierwszą')