不知道什麼是錯的,代碼是給12,而不是24階乘代碼不工作
def factorial(x):
m=x-1
while m>0:
t=x*m
m-=1
return t
else:
return 1
print factorial(4)
不知道什麼是錯的,代碼是給12,而不是24階乘代碼不工作
def factorial(x):
m=x-1
while m>0:
t=x*m
m-=1
return t
else:
return 1
print factorial(4)
你的代碼返回值和分配新的價值爲t每次迭代
def factorial(x):
... t = 1
... while x>0:
... t *= x
... x-=1
...
... return t
print factorial(4)
output:
24
----或----
from operator import mul
def factorial(x):
return reduce(mul, range(1,x+1))
print factorial(4)
output:
24
因爲你正在返回while循環的第一次迭代。 –
這不是唯一的問題,'t = x * m'沒有意義。 – polku