
Python 代碼閱讀合集介紹:為什么不推薦Python初學(xué)者直接看項(xiàng)目源碼
本篇閱讀的代碼實(shí)現(xiàn)了階乘的計(jì)算功能。
本篇閱讀的代碼片段來自于30-seconds-of-python。
factorial
def factorial(num):
if not ((num >= 0) and (num % 1 == 0)):
raise Exception("Number can't be floating point or negative.")
return 1 if num == 0 else num * factorial(num - 1)
# EXAMPLES
print(factorial(6)) # 720
factorial函數(shù)接收一個(gè)數(shù)字,返回該數(shù)字的階乘結(jié)果。
函數(shù)首先判斷數(shù)字是否大于0,是否為整數(shù)(num % 1 == 0)。然后采用遞歸的方式進(jìn)行求值,并給出遞歸終止條件(num == 0)。