[英]What's wrong with my code in Python 2.7.9?
我剛剛開始學習python,並編寫了計算數字階乘的過程。 我遇到了邏輯錯誤。 fact
函數返回的值為None
,執行后的factorial
值為24。
factorial = 1
def fact(num) :
if num == 0 :
return 1
global factorial
print factorial
factorial *= num
if num-1 > 1 :
fact(num - 1)
else :
return factorial
print fact(4)
print factorial
輸出:
1
4
12
None
24
你應該改變
if num-1 > 1 :
fact(num - 1)
else:
return factorial
至:
if num-1 > 1 :
return fact(num - 1)
else :
return factorial
問題是除了基本情況外,您沒有返回任何東西。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.