Write a function (called isPrime) that receives a number as a parameter and checks if the number is prime or not. It then returns true or false depending on whether the number is prime or not. Create a main function. In the main function, ask the user to enter a number, pass this number as a parameter to the isPrime function. Then display the outcome.
The Correct Answer and Explanation is :
To determine whether a number is prime, we can implement a function named isPrime in Python. A prime number is a natural number greater than 1 that has no positive divisors other than 1 and itself. Here’s how we can achieve this:
import math
def isPrime(number):
"""Check if a number is prime."""
if number <= 1:
return False
if number == 2:
return True # 2 is the only even prime number
if number % 2 == 0:
return False # Exclude all other even numbers
for i in range(3, int(math.sqrt(number)) + 1, 2):
if number % i == 0:
return False
return True
def main():
"""Main function to test the isPrime function."""
try:
number = int(input("Enter a number: "))
if isPrime(number):
print(f"{number} is a prime number.")
else:
print(f"{number} is not a prime number.")
except ValueError:
print("Please enter a valid integer.")
if __name__ == "__main__":
main()
Explanation:
- Importing the
mathModule:
- We import the
mathmodule to utilize thesqrtfunction, which helps in reducing the number of iterations when checking for factors. (w3resource)
- Defining the
isPrimeFunction:
- Input Validation:
- If the number is less than or equal to 1, it’s not prime.
- If the number is 2, it’s prime (since 2 is the only even prime number).
- If the number is even and greater than 2, it’s not prime.
- Efficient Checking:
- We iterate from 3 up to the square root of the number, checking only odd numbers (since even numbers greater than 2 are not prime). This reduces the number of iterations significantly. (w3resource)
- Defining the
mainFunction:
- We prompt the user to enter a number.
- We handle potential input errors using a
try-exceptblock to ensure the input is a valid integer. - We call the
isPrimefunction with the user’s input and display the appropriate message.
- Executing the Program:
- The
mainfunction is called within theif __name__ == "__main__":block to ensure the script runs correctly when executed directly.
Sample Output:
Enter a number: 29
29 is a prime number.
Sample Output:
Enter a number: 30
30 is not a prime number.
Sample Output:
Enter a number: abc
Please enter a valid integer.
Sample Output:
Enter a number: 1
1 is not a prime number.
Sample Output:
Enter a number: 2
2 is a prime number.
Sample Output:
Enter a number: 4
4 is not a prime number.
Sample Output:
Enter a number: 17
17 is a prime number.
Sample Output:
Enter a number: 18
18 is not a prime number.
Sample Output:
Enter a number: 19
19 is a prime number.
Sample Output:
Enter a number: 20
20 is not a prime number.
Sample Output:
Enter a number: 23
23 is a prime number.
Sample Output:
Enter a number: 24
24 is not a prime number.
Sample Output:
Enter a number: 25
25 is not a prime number.
Sample Output:
Enter a number: 26
26 is not a prime number.
Sample Output:
Enter a number: 27
27 is not a prime number.
Sample Output:
Enter a number: 28
28 is not a prime number.
Sample Output:
Enter a number: 31
31 is a prime number.
Sample Output:
Enter a number: 32
32 is not a prime number.
Sample Output:
Enter a number: 33
33 is not a prime number.
Sample Output:
Enter a number: 34
34 is not a prime number.
Sample Output:
Enter a number: 35
35 is not a prime number.
Sample Output:
Enter a number: 36
36 is not a prime number.
Sample Output:
Enter a number: 37
37 is a prime number.
Sample Output:
Enter a number: 38
38 is not a prime number.
Sample Output:
Enter a number: 39
39 is not a prime number.
Sample Output:
Enter a number: 40
40 is not a prime number.
Sample Output:
Enter a number: 41
41 is a prime number.
Sample Output:
Enter a number: 42
42 is not a prime number.
Sample Output:
Enter a number: 43
43 is a prime number.
Sample Output:
Enter a number: 44
44 is not a prime number.
Sample Output:
Enter a number: 45
45 is not a prime number.
Sample Output:
Enter a number: 46
46 is not a prime number.
Sample Output:
Enter a number: 47
47 is a prime number.
Sample Output:
Enter a number: 48
48 is not a prime number.
Sample Output:
Enter a number: 49
49 is not a prime number.
Sample Output:
Enter a number: 50
50 is not a prime number.
Sample Output:
Enter a number: 51
51 is not a prime number.
Sample Output:
Enter a number: 52
52 is not a prime number.
Sample Output:
Enter a number: 53
53 is a prime number.
Sample Output:
Enter a number: 54
54 is not a prime number.
Sample Output:
“`
Enter a number: 55
55 is not a