import math
def normal_cdf(x, mean=0, sd=1):
z = (x - mean) / (sd * math.sqrt(2))
return 0.5 * (1 + math.erf(z))
mean, sd = 175, 7 # average adult male height in cm, with its spread
for k in [1, 2, 3]:
lower = mean - k * sd
upper = mean + k * sd
proportion = normal_cdf(upper, mean, sd) - normal_cdf(lower, mean, sd)
print(f"Within {k} SD ({lower}-{upper} cm): {proportion:.3%}")
# Output:
# Within 1 SD (168-182 cm): 68.269%
# Within 2 SD (161-189 cm): 95.450%
# Within 3 SD (154-196 cm): 99.730%