def is_prime(number, divisor=2):
if number <= 1:
return False
if divisor == number:
return True
if number % divisor == 0:
return False
return is_prime(number, divisor + 1)
num = int(input("Enter a number: "))
if is_prime(num):
print(f"{num} is a prime number.")
else:
print(f"{num} is not a prime number.")
Code Explanation
Function Definition
def is_prime(number, divisor=2):
number: The number to check for primality.
divisor=2: The starting divisor for checking divisibility. Defaults to 2.
Base Cases
Check if the number is
if number <= 1:
return False
Numbers less than or equal to 1 are not prime.
Returns False.
Check if the divisor has reached the number:
if divisor == number:
return True
If the divisor equals the number, it means no smaller divisors were found, so the number is prime.
Returns True.
Recursive Check
python
Copy code
if number % divisor == 0:
return False
If number % divisor == 0, it means the number is divisible by divisor, so it's not a prime number.
Returns False.
return is_prime(number, divisor + 1)
If no divisors are found, the function recursively calls itself, increasing the divisor by 1 to check the next potential divisor.
Input
num = int(input("Enter a number: "))
Prompts the user to input a number.
int() ensures the input is treated as an integer.
Prime Check and Output
if is_prime(num):
print(f"{num} is a prime number.")
else:
print(f"{num} is not a prime number.")
Calls the is_prime function with the input number.
Depending on the result (True or False), it prints whether the number is prime.
#source code --> clcoding.com