Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

Python Practice Creating and Using Functions in Python Practice Functions That's Odd

Linda Larson-Prior
Linda Larson-Prior
407 Points

my cod ran, ON THE NUMBER 1, in my IDE - why won't it work here? I attach the function as called in PyCharm

def is_odd(number): mod = number % 2 if mod > 0: print("ODD")

is_odd(1) ODD is_odd(2)

2 Answers

Steven Parker
Steven Parker
216,810 Points

When posting code, use Markdown formatting to preserve the code's appearance (including indentation!) and retain special symbols.

The instructions say that the function "should return True if the value is not divisible by 2", but this code is printing the word "ODD" out instead.

Also, the task is only to create the function, you won't need any code after it.

Linda Larson-Prior
Linda Larson-Prior
407 Points

Yes, that is all the case. I changed the output to test possible solutions. The question here is a bit simpler: the error I get is that 1 is an odd number and a simple check for odd/even using modulo is insufficient. Yet is works in PyCharm and not here - why?

Steven Parker
Steven Parker
216,810 Points

I was pointing out that in your pycharm testing, you're looking at what this prints out. But the challenge doesn't want anything to be printed out. It only wants your function to return either "True" or "False". For testing in pycharm, you need something like this:

# this code is for IDE testing only, DO NOT use it in the challenge
if is_odd(1) and not is_odd(2):
    print("your function should pass the challenge")
else
    print("this code doesn't work yet")

Remember that by itself, your IDE can only help you find syntax errors. It has no idea what the objective is.

Steven Parker
Steven Parker
216,810 Points

Linda Larson-Prior — Glad to help. You can mark a question solved by choosing a "best answer".
And happy coding!