Reputation: 95
This program is supposed to check whether an entered number is a prime number.
def checkPrime():
primeASK = raw_input('''Please enter a prime number.''')
print 'Your Number is %s.' %(primeASK)
if primeASK.isdigit():
primeASK = int(primeASK)
number = 1
while primeASK > number:
print primeASK / number
number += 1
checkPrime()
Here is the error I keep receiving (obviously the program isn't complete)
Traceback (most recent call last):
File "C:/Python27/Lib/idlelib/primeChecker.py", line 14, in <module>
checkPrime()
File "C:/Python27/Lib/idlelib/primeChecker.py", line 5, in checkPrime
if primeASK.isdigit():
AttributeError: 'int' object has no attribute 'isdigit'
Upvotes: 0
Views: 61
Reputation: 22697
You are trying to divide a string by an integer, so, you need to parse your input to int
first.
def checkPrime():
primeASK = raw_input('''Please enter a prime number.''')
print 'Your Number is %s.' %(primeASK)
if primeASK.isdigit():
primeASK = int(primeASK)
number = 1
Also, number + 1
it should be number += 1
Upvotes: 2
Reputation: 859
primeAsk
is a String because that's what raw_input()
returns. Your error is that you are dividing a String by an Integer.
Upvotes: 2