Python Exercise: Test the number is prime or not
Python Functions: Exercise-9 with Solution
Write a Python function that takes a number as a parameter and checks whether the number is prime or not.
Note : A prime number (or a prime) is a natural number greater than 1 and that has no positive divisors other than 1 and itself.
Prime number between 1 to 100:
Sample Solution-1:
Python Code:
# Define a function named 'test_prime' that checks if a number 'n' is a prime number
def test_prime(n):
# Check if 'n' is equal to 1
if (n == 1):
# If 'n' is 1, return False (1 is not a prime number)
return False
# Check if 'n' is equal to 2
elif (n == 2):
# If 'n' is 2, return True (2 is a prime number)
return True
else:
# Iterate through numbers from 2 to (n-1) using 'x' as the iterator
for x in range(2, n):
# Check if 'n' is divisible by 'x' without any remainder
if (n % x == 0):
# If 'n' is divisible by 'x', return False (not a prime number)
return False
# If 'n' is not divisible by any number from 2 to (n-1), return True (prime number)
return True
# Print the result of checking if 9 is a prime number by calling the 'test_prime' function
print(test_prime(9))
Sample Output:
False
Explanation:
In the exercise above the code defines a function named "test_prime()" that determines whether a given number 'n' is a prime number or not. It performs various checks such as excluding 1 as a prime number, including 2 as a prime number, and then checks the divisibility from 2 to 'n-1'. Finally, it demonstrates the function by calling it with the argument 9 and prints the result (False) indicating that 9 is not a prime number.
Flowchart:
Sample Solution-2:
- Return False if the number is 0, 1, a negative number or a multiple of 2.
- Use all() and range() to check numbers from 3 to the square root of the given number.
- Return True if none divides the given number, False otherwise.
Python Code:
# Import the 'sqrt' function from the 'math' module
from math import sqrt
# Define a function named 'is_prime' that checks if a number 'num' is a prime number
def is_prime(num):
# Check conditions:
# If 'num' is less than or equal to 1 or if 'num' is even and greater than 2, return False
if num <= 1 or (num % 2 == 0 and num > 2):
return False
# Check if 'num' is divisible by any odd number from 3 to the square root of 'num'
# If any number from this range divides 'num' evenly, return False; otherwise, return True
return all(num % i for i in range(3, int(sqrt(num)) + 1, 2))
# Print the result of checking whether certain numbers are prime by calling the 'is_prime' function
print(is_prime(11))
print(is_prime(13))
print(is_prime(16))
print(is_prime(17))
print(is_prime(97))
Sample Output:
True True False True True
Explanation:
In the exercise above the code defines a function named "is_prime()" that checks whether a given number 'num' is a prime number. It checks various conditions, such as excluding numbers less than or equal to 1, even numbers greater than 2, and then checks divisibility by odd numbers from 3 to the square root of 'num'. Finally, it calls the function with different numbers and prints the results indicating whether they are prime (True) or not (False).
Flowchart:
Python Code Editor:
Have another way to solve this solution? Contribute your code (and comments) through Disqus.
Previous: Write a Python function that takes a list and returns a new list with unique elements of the first list.
Next: Write a Python program to print the even numbers from a given list.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.
https://w3resource.com/python-exercises/python-functions-exercise-9.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics