To check if a number entered by the user is prime or not, you can use the following Python program. A prime number is a number greater than 1 that has no divisors other than 1 and itself.
Here’s the program:
def is_prime(n):
if n <= 1:
return False
elif n == 2:
return True
elif n % 2 == 0:
return False
# Check divisibility by all odd numbers from 3 to sqrt(n)
for i in range(3, int(n**0.5) + 1, 2):
if n % i == 0:
return False
return True
# Input from the user
try:
number = int(input("Enter a number: "))
if is_prime(number):
print(f"The number {number} is a prime number.")
else:
print(f"The number {number} is not a prime number.")
except ValueError:
print("Invalid input. Please enter an integer.")- Input Handling: The program prompts the user to enter a number and attempts to convert it to an integer. If the input is not a valid integer, it catches the
ValueErrorand informs the user. - Prime Check Logic:
- Numbers ≤ 1: Numbers less than or equal to 1 are not prime.
- Number 2: The number 2 is prime, as it is the only even prime number.
- Even Numbers: Any even number greater than 2 is not prime.
- Odd Numbers: For numbers greater than 2, the program checks divisibility by all odd numbers from 3 up to the square root of the number. If any divisor is found, the number is not prime.
- Output: The program prints whether the entered number is prime or not.
- If the user enters
17, the program will output:The number 17 is a prime number. - If the user enters
18, the program will output:The number 18 is not a prime number.
This algorithm is efficient for checking if a number is prime, especially for large numbers, as it reduces the number of checks needed by only considering divisibility up to the square root of the number.