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 trialMegal Rosekrans
3,497 PointsEven_odd task
Hi guys,
I have been using this code below to print out whether a random number is odd or even. However, the task consistently says that I have entered a wrong number of prints. Can anyone help please?
import random
start = 5
def even_odd(num): while True:
num = random.randint(1,99)
# If % 2 is 0, the number is even.
if num % 2 == 0:
print('{} is even'.format(num))
else:
print('{} is odd'.format(num))
start -= 1
# Since 0 is falsey, we have to invert it with not.
return not num % 2
import random
start = 5
def even_odd(num):
while True:
num = random.randint(1,99)
# If % 2 is 0, the number is even.
if num % 2 == 0:
print('{} is even'.format(num))
else:
print('{} is odd'.format(num))
start -= 1
# Since 0 is falsey, we have to invert it with not.
return not num % 2
1 Answer
Steve Hunter
57,712 PointsHi there,
You want your while
loop to be outside the even_odd
method. Write it after the method.
The while
loop runs until start
becomes zero. At each loop you're generating a random number and passing it into the even_odd
method which returns a true/false answer. You then output the result of that with the strings set in the challenge.
So, without any indenting, after the even_odd
method, start the while
loop. Generate a random number, like you have done, and store it in something; num
is fine.
Then start an if
statement passing num
to even_odd
as a parameter. Then output the even string, else
output the odd string. Lastly, decrement start
else we'll be here all night!
That all looks like:
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 start:
num = random.randint(1, 99)
if(even_odd(num)):
print("{} is even".format(num))
else:
print("{} is odd".format(num))
start -= 1
I hope that helps.
Steve.
Megal Rosekrans
3,497 PointsMegal Rosekrans
3,497 PointsThanks Steve!!!