python 3.x - my prime number function keeps a returning a TypeError -
python 3.x - my prime number function keeps a returning a TypeError -
so i'm writing is_prime function, , keeps returning typeerror when set argument float. function returns returns true if num prime. number x prime if divisible 1 , x. can consider numbers 0 , 1 prime , returns false if num not prime. also, if argument not integer or num < 0, function should homecoming none.
so examples:
input argument "hello!", should homecoming none, because input argument string for input argument "23", should homecoming none, because input argument string for input argument 12.34, should homecoming none, because input argument float. for input argument 1, should homecoming true for input argument 4, should homecoming false (number 4 divisible 2)so here code, don't know problem, help or criticism appreciated...:
def is_prime(num): if num type(num) , type(str) , num < 0: homecoming none in range(1, num): if num % 2 == 0: homecoming false else: homecoming true
based on code, believe algorithm you're going for:
check num beingness integer (should check beingness positive) check each number between 1 & num see if divides num if no number divides num , homecoming true.with that, function becomes:
def is_prime(num): # returns false if num not integer if not isinstance(num, int): homecoming none # returns false divisible number # between 1 , num homecoming false in range(2, num): if num % == 0: homecoming false # if none of numbers split num homecoming true homecoming true.
python-3.x
Comments
Post a Comment