FAQ: Learn Python - Practice Makes Perfect - is_even

This community-built FAQ covers the “is_even” exercise in Codecademy’s lessons on Python.

FAQs for the Codecademy Python exercise is_even:

Join the Discussion. We Want to Hear From You!

Have a new question or can answer someone else’s? Reply (reply) to an existing thread!

Agree with a comment or answer? Like (like) to up-vote the contribution!

Need broader help or resources about Python in general? Go here!

Want to take the conversation in a totally different direction? Join our wider discussions.

Learn more about how to use this guide.

Found a bug? Report it!

Have a question about your account, billing, Pro, or Pro Intensive? Reach out to our support team!

None of the above? Find out where to ask other questions here!

Not seeing your question? It may still have been asked before – try (search) in the top-right of this page. Still can’t find it? Ask it below by hitting the reply button below this post (reply).

Other FAQs

The following are links to additional questions that our community has asked about this exercise:

  • This list will contain other frequently asked questions that aren’t quite as popular as the ones above.
  • Currently there have not been enough questions asked and answered about this exercise to populate this FAQ section.
  • This FAQ is built and maintained by you, the Codecademy community – help yourself and other learners like you by contributing!

inside the function I put in an “if” loop to see if X is an even number but why does the expression need to be
“x % 2 == 0:”
rather than
“x % 2:”.
why should there be a zero.

I’m printing out ODD or EVEN just to test the code but when I input either an even or odd number, it outputs the correct answer then the opposite of that as a final answer. I don’t understand why it’s doing this. What am I doing wrong?

is_even should be returning a boolean. This is what we refer to as a predicate function.

def is_even(num):
    return num % 2 == 0
def is_odd(num):
    return num % 2 != 0

And so the program logic would be,

if is_even(4):
    print ("Even")
else:
    print ("Odd")

As we can see, the second function is not even needed (no pun intended).