 # im cannot seem to correct this error...its saying the code took to long to run

i do not know whether to keep the while True as it or change it according to something in the code challenge

even.py
```import random

start = 5
while True:
def even_odd(num):
num = random.randint(0, 99)
if num % 2 == 0:
print("{} is even".format(num))
else:
print("{} is odd".format(num))
return not num % 2
start -= 1

even_odd()
``` STAFF

Nikhil;

Okay, let's back up a minute as it seems you're overall off track a bit, which is fine, this stuff isn't super intuitive.

At the end of Task 2 your code should, more or less, look like this, yes?

```import random

start = 5

def even_odd(num):
return not num % 2
```

And here are the instructions for Task 3:

Alright, last step but it's a big one. Make a `while` loop that runs until `start` is falsey. Inside the loop, use `random.randint(1, 99)` to get a random number between 1 and 99. If that random number is even (use `even_odd` to find out), print `"{} is even"`, putting the random number in the hole. Otherwise, print `"{} is odd"`, again using the random number. Finally, decrement `start` by 1. I know it's a lot, but I know you can do it!

Let's take those steps one at a time.

• Make a `while` loop that runs until `start` is falsey. Recall that a zero value meets the condition so we can either do `while (start > 0): ...` or we could simply do `while start: ...`
```import random

start = 5

def even_odd(num):
return not num % 2

while start:
```
• Next we have the code for our number generator and we can assign that to a variable name. `num` seems as good as any.
```import random

start = 5

def even_odd(num):
return not num % 2

while start:
num = random.randint(1, 99)
```
• If our random number, `num` is even we want to print that it is. Same for an odd number. We are instructed to use our `even_odd` method to do so. So we don't need to change that method at all.
```import random

start = 5

def even_odd(num):
return not num % 2

while start:
num = random.randint(1, 99)
if even_odd(num):
// print our even output
else:
// print our odd output
```
• Finally, we decrement `start` by 1. That should be doable.
```import random

start = 5

def even_odd(num):
return not num % 2

while start:
num = random.randint(1, 99)
if even_odd(num):
// print our even output
else:
// print our odd output
start -=1
```

That should do it from a logic standpoint. I'll leave it to you to complete the print statements. ;-)

Post back if you're still stuck, Nikhil. Great job sticking with this as well. You got this!

Ken Thank you so much for sticking on this task for me and helping me... ive completed the pythons basic course.... now im movin forward... once again thank you Ken. ~NIKX222 STAFF

Nikhil;

Actually, the way the above code is written, the loop will never end. You would need to check the value of `start` to achieve the results you want. Something along the lines of:

```start = 5
while (start > 0):
...
start -= 1
```

Doing `while True:` runs forever unless there is a `break` statement.

Ken ```import random

start = 5
while (start > 0):
def even_odd(num):
num = random.randint(1, 99)
if num % 2 == 0:
print("{} is even".format(num))
else:
print("{} is odd".format(num))
return not num % 2
start -= 1

even_odd()
```

I even tried using

```while (int(start) > 0):
``` Doh! I just noticed that you are defining your `even_odd` function inside the while loop.

I would define `even_odd()` separately:

```def even_odd(num):
return not num %2
```

And then call that inside your while loop. Sorry for the confusion on that.

Ken thank you for helping me... but im sorry to bother you...the code still doesnt work could you help me out??

```import random

start = 5

def even_odd(num):
num = random.randint(1, 99)
if num % 2 == 0:
print("{} is even".format(num))
else:
print("{} is odd".format(num))
return not num % 2

while (start > 0):
even_odd(num)
start -= 1
```