Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

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

Linda Larson-Prior
Linda Larson-Prior
446 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
229,732 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
446 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
229,732 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
229,732 Points

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