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 Python Basics (2015) Letter Game App Even or Odd Loop

Task 1 is failing after trying to solve Task 3. Can't see what I am doing wrong

Task 1 was import random.

Can someone help me in the right direction?

even.py
import random
start = 5

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

while True:
    random = random.randint (1, 99)
    if even_odd(random) == 0:
        print ("{} is even".format(random))
    else:
        print ("{} is odd".format(random))

    start -= 1

Changed the loop to: while start == True:

Then this error accours: Bummer! Wrong number of prints.

Not sure if I solved the first problem and found a new one.

2 Answers

Rich Zimmerman
Rich Zimmerman
24,063 Points

It's the way you're using the "random" variable to create a random number. Because the "random" library is declared as "random", it's creating a conflict with 2 "random" declarations. If you rename it to something like

random_num = random.randint(1, 99)

it should work.

You also have an infinite loop with your While loop. You need it to run until "start" is falsey, but your while loop is not referencing "start".

while start:
    random_num = random.randint (1, 99)
    if even_odd(random_num):
        print ("{} is even".format(random_num))
    else:
        print ("{} is odd".format(random_num))

    start -= 1

Should complete the challenge for you.

That solved it. Thank you very much!