+ 3
How to make a factorial?
n=int(input("number : ")) sum=0 while n: print(n, "*") if n==0: break print(sum)
2 Answers
+ 5
Here are a few suggestions for your code -
The first would be to a condition in your while statement that replaces the if statement within it, setting it so that the while statement will only run while n is greater than 0:
while n > 0:
statements
Next, as the factorial of a number is that number multiplied by every other number below it, I would set a second variable to be equal to one (in this case sum will work as that variable), so you can multiply n by something as it decreases.
To find the actual calculations of the factorial of n, I would recommend setting sum (which should equal 1 initially) to equal the value of sum multiplied by n, having n decrease by one after every iteration of the loop:
while n > 0:
sum *= n
n -= 1
Hope this helped! d:
+ 3
wow good ideas!!
thank you so much Faisal and Jan Markus!! have a great day :):)