案例研究:用 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 构建软件