Python Python Basics (2015) Letter Game App Even or Odd Loop

Challenge Error - Task 1 is not passing

I am getting error that task 1 is not passing. What is this error?

even.py
import random
start = 5
while start:
    N = random.randint(1,99)
    if even_odd(N):
        print("{} is even".format(N))
    else:
        print("{} is odd".format(N))
    start=start - 1

def even_odd(num):
    # If % 2 is 0, the number is even.
    # Since 0 is falsey, we have to invert it with not.
    return not num % 2

1 Answer

Jennifer Nordell
MOD
Jennifer Nordell
Treehouse Moderator

Hi there, Uday! First, you're doing terrific. Your syntax and logic are pretty spot on, but it's your ordering that's a bit off. You were meant to write that while loop below the definition of the even_odd function. If you try running your code as it is now, through step 1, you will get back this:

Bummer! name 'even_odd' is not defined

You've run into the most common reason for getting a "Task 1 is no longer passing" and it is due to a syntax error. When this happens, your code can no longer be interpreted at all, thus invalidating all code there.

In this case, you're trying to use the even_odd function in the while loop, but that function isn't defined until after the loop. Try moving your even_odd function back to the top of the file. When I do this, your code passes all steps.

Hope this helps! :sparkles:

Jennifer Nordell ...Thanks...I am used to MATLAB....I used ordering pattern like MATLAB....Now I got it...Thanks again..