a = int(input())
if (a==0 or a==1 or a<1):
print("factorial is one")
else:
fact =1
while(a>1):
fact = fact *a
a = a-1
print("factorial:",fact)
and Output is Like:
6
factorial: 6
factorial: 30
factorial: 120
factorial: 360
factorial: 720
but I want only 720
>Solution :
Indentation problem, make print outside while
a = int(input())
if (a==0 or a==1 or a<1):
print("factorial is one")
else:
fact =1
while(a>1):
fact = fact *a
a = a-1
print("factorial:",fact)
N.B:
the best way to do a factorial, is use a recursive function
def fact(n):
if n == 1:
return 1
else:
return n * fact(n-1)
number = int(input('Your nuumber'))
print('factorial', fact(number))