案例研究:用 Python 建構軟體
Mark Pedigo
Principal Data Scientist

def factorial(n):
if n == 0:
return 1
else:
result = 1
for i in range(1, n + 1):
result *= i
return result
就以下面向給回饋:
else
# Original code
def factorial(n):
if n == 0:
return 1
else:
result = 1
for i in range(1, n + 1):
result *= i
return result
# Refactored code def factorial(n): if n < 0: raise ValueError("Not defined")if n == 0: return 1result = 1 for i in range(1, n + 1): result *= i return result
前式 $$m = P \cdot \frac{r (1 + r)^N}{(1+r)^N - 1}$$ 其中,$m$ 為每月還款額,$P$ 為貸款金額,$r$ 為月利率,$N$ 為期數
新式 $$P = m \cdot \frac{(1+r)^N - 1}{r (1 + r)^N}$$

案例研究:用 Python 建構軟體