Factorial, need guidance



Oops, try again. factorial(2) returned None, did you remember to return the result?

Now I haven't gotten to my final product yet, I'm focusing on getting result2 working, and I cannot. My idea is that result2 will print out the numbers 1, 2, 3 and so on depending on what I have wrote in. I don't know if I can multiply them afterwards, but that's a problem for later, what I want to figure out is why result2 is not adding up like I'm hoping it should

def factorial(x):
    z = int(x)
    result1 = 1
    result2 = 0
    num = x 
    if x == 1:
        print result1 
        return result1
    elif x > 1:
        while result2 >= num:
            print result2
            result2 += 1
# Line for testing


this is your while loop:

while result2 >= num:

for x=2 (your test line), the first run of the loop would be the following:

while 0 >= 2:

this is false, so your loop never runs

a loop runs for as long as the condition is True


Ah, thank you. Also, another question, is there any way of writing "For every time result2 prints, do this", if you get what I mean? Sorry if it sounds vague.

EDIT: Actually, doesn't matter.


yea, just put the code in the while loop (same indention level as print), any further guidance needed?


This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.