bhuskinson
bhuskinson

Reputation: 5

Why is my function being ignored?

In the console, my program prints the first question, and once the input is entered, prints the second one and terminates. It appears to skip the function. Obviously I've done something(s) wrong, any help would be appreciated. That while-loop still feels wrong.

def Prime(n):
    i = n - 1
    while i > 0:
        if n % i == 0:
            return False
            print("This number is not prime.")
        else:
            i = i - 1
    return True
    print("This number is prime.")

def Main():
    n = int(input("What is the number you'd like to check?"))
    Prime(n)
    answer2 = input("Thank you for using the prime program.")

Main()

Upvotes: 0

Views: 159

Answers (1)

Mureinik
Mureinik

Reputation: 311163

Your function returns before printing output, so nothing ever gets to the console. Consider printing before returning:

def Prime(n):
    i = n - 1
    while i > 0:
        if n % i == 0:
            print("This number is not prime.") # Here
            return False
        else:
            i = i - 1
    print("This number is prime.") # And here
    return True

Upvotes: 1

Related Questions