Wrapped In Python – Edition 3 – Prime Number Verifier

Prime Number Verifier Using Python

In my last post I offered two different examples for generating prime numbers using python.  The first script in that post generated every prime (except 2) from 1 to 9,999,999 and the second script generated every prime in a user-supplied range.

It’s neat to be able to generate a bunch of prime numbers but what if you had a number and wanted to know if it was prime?  The script below does that.  It’s little more than a modification of the scripts offered in my previous post on Generating prime numbers using python.

The biggest lesson I learned from this is how much faster my computer is than I am.  Manually determining if a number is prime is not difficult, it’s just time consuming.  Once you know the why and how of prime number determination, having a script like this one sure is helpful.

Here’s the code:

#!/usr/bin/env python

print ""
print "*************************************************"
print "**           Prime Number Checker              **"
print "*************************************************"
print "This script will test to see" 
print "if a given number is prime."
print ""
while True:
	number = int(raw_input("What number do you want to check?: "))
	if number == 1:
		print "1 is NOT considered prime"
		break
	if number == 0:
		print "No. No. No."
		break
	num = range(2,number)

	counter = 0.0
	for each in num:
		modulus = float(number % each)
		if modulus == 0.0:
			pass
		else:  # if the modulus is not zero, 
                       # increase the counter by 1.
			counter += 1

	if len(num) == counter:
		# if the total number of non-zero 
                # modulus' is equal to the 
		# number of numbers in the range of 
                # i-2, the number is prime.
		# In other words, every number in 
                # the range has a non-zero
		# modulus (i.e it's prime)
		print ""
		print "  %i is prime." % number
		print ""
	else: 
		print ""
		print "  %i is NOT prime." % number
		print ""	

Some funk with my code:

I added a little bit of cheat code to keep 1 and 0 from being listed as prime when tested using the script.  I am fully aware that this could be done in a much more attractive way.  I figured someone who ponders whether or not a particular number is prime isn’t going to be asking about 1, 2, 3, 4, 5, 6, etc.  If you want to know if 919223 is prime, this script will tell you (it is!).  If you want to know if 9192233 is prime this script will tell you that, too (it’s not!).

Cheers,

Colin Weaver

Previous Post: Wrapped In Python – Edition 2 – Generating Prime Numbers Using Python
Next Post: Wrapped In Python – Edition 4 – Primitive Root Finder using Python

If you liked this post, please consider sharing it.  Thanks!

About the Author

Colin Weaver

Colin Weaver is co-owner and lead instructor at ITdojo, Inc., a network security and information assurance training center and consulting firm located in Virginia Beach, VA. His passion for technology, networks, and security has led him to become enthralled with the idea of IPv6 and its implementation. In this blog he will share with you glimpses of what he has learned and a hint at what you’ll learn in his classes.