```
def factorial(x):
total = 1
while x>0:
total *= x
x-=1
return total
```

can someone explain me this bit of code

```
def factorial(x):
total = 1
while x>0:
total *= x
x-=1
return total
```

can someone explain me this bit of code

```
factorial(4) # I will use 4 as my x input;
def factorial(x): # Defined a function with x as an input;
total = 1 # You start your total sum variable with 1 unlike previous
# lessons using 0 because we are dealing with multiplication.
# Otherwise total(0) * x(4) = 0
while x>0: # While (4) > 0: since 4 is greater then 0 continue loop
total *= x # total = 1 * 4
x-=1 # now take your x input(4) subract it by 1 which will = (3) as your new x and restart the loop
# From this point we got back to the while loop
# is 3 > 0? yes it is so continue loop
# dont forget your total is still (4) so
# new Total = 4 * 3 which gets you 12
# back to your input which was 3 from last loop so now 3 - 1 = new input 2
# back to while loop 2>0? yup so continue ect
# the process gets you to 4*3*2*1 which is the factorial of 4 factorial(4) = 24
return total # so now that we finished the loop consideringing 0 is not > 0 it returns 24
def factorial(4):
total = 1
while x>0:
total *= x
x-=1
return total
```

THANK YOU SO MUCH! Made it pretty clear, wish it showed explanations like this in the end or something

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