5  Parameters for the distribution

import numpy as np
import scipy as sp
import scipy.special as spsp
import matplotlib.pyplot as plt
n = 100       # Number of trials (large n for good agreement)
p = 0.5        # Probability of success (e.g., fair coin)
q = 1 - p      # Probability of failure
PXbinomial = []
for k in range(n+1):
    probX = spsp.comb(n,k)*p**k * q**(n-k)
    PXbinomial.append(probX)

mu = n*p
sigma = np.sqrt(n*p*q)

X = np.arange(0,n,1)
PXnomal = (1/(sigma*np.sqrt(2*np.pi))) * np.exp(-((X-mu)**2)/(2*sigma**2))
PXbinomial
[np.float64(7.888609052210118e-31),
 np.float64(7.888609052210118e-29),
 np.float64(3.9048614808440084e-27),
 np.float64(1.275588083742376e-25),
 np.float64(3.093301103075262e-24),
 np.float64(5.939138117904503e-23),
 np.float64(9.403635353348797e-22),
 np.float64(1.2627738903068384e-20),
 np.float64(1.4679746474816996e-19),
 np.float64(1.5005963063146263e-18),
 np.float64(1.3655426387463099e-17),
 np.float64(1.1172621589742536e-16),
 np.float64(8.286361012392381e-16),
 np.float64(5.609228993004073e-15),
 np.float64(3.485735159938246e-14),
 np.float64(1.9984881583645938e-13),
 np.float64(1.0616968341311906e-12),
 np.float64(5.2460314157070584e-12),
 np.float64(2.4190033750204773e-11),
 np.float64(1.0439909302719957e-10),
 np.float64(4.228163267601648e-10),
 np.float64(1.6107288638482468e-09),
 np.float64(5.783980920182311e-09),
 np.float64(1.9615239642357167e-08),
 np.float64(6.293222718589643e-08),
 np.float64(1.9131397064512288e-07),
 np.float64(5.518672230147774e-07),
 np.float64(1.512524981596038e-06),
 np.float64(3.943368702018236e-06),
 np.float64(9.790432639493874e-06),
 np.float64(2.317069058013542e-05),
 np.float64(5.232091421320828e-05),
 np.float64(0.00011281697127223167),
 np.float64(0.00023247133474277385),
 np.float64(0.0004581052772872489),
 np.float64(0.0008638556657416497),
 np.float64(0.001559739396477965),
 np.float64(0.0026979276047186932),
 np.float64(0.004472879976244109),
 np.float64(0.007110732269926618),
 np.float64(0.010843866711637914),
 np.float64(0.015869073236543674),
 np.float64(0.022292269546572548),
 np.float64(0.03006864264421444),
 np.float64(0.038952559789097),
 np.float64(0.04847429662643116),
 np.float64(0.05795839814029894),
 np.float64(0.06659049999097996),
 np.float64(0.07352701040670828),
 np.float64(0.07802866410507776),
 np.float64(0.07958923738718095),
 np.float64(0.07802866410507776),
 np.float64(0.07352701040670828),
 np.float64(0.06659049999097996),
 np.float64(0.05795839814029894),
 np.float64(0.04847429662643116),
 np.float64(0.038952559789097),
 np.float64(0.03006864264421444),
 np.float64(0.022292269546572548),
 np.float64(0.015869073236543674),
 np.float64(0.010843866711637914),
 np.float64(0.007110732269926618),
 np.float64(0.004472879976244109),
 np.float64(0.0026979276047186932),
 np.float64(0.001559739396477965),
 np.float64(0.0008638556657416497),
 np.float64(0.0004581052772872489),
 np.float64(0.00023247133474277385),
 np.float64(0.00011281697127223167),
 np.float64(5.232091421320828e-05),
 np.float64(2.317069058013542e-05),
 np.float64(9.790432639493874e-06),
 np.float64(3.943368702018236e-06),
 np.float64(1.512524981596038e-06),
 np.float64(5.518672230147774e-07),
 np.float64(1.9131397064512288e-07),
 np.float64(6.293222718589643e-08),
 np.float64(1.9615239642357167e-08),
 np.float64(5.783980920182311e-09),
 np.float64(1.6107288638482468e-09),
 np.float64(4.228163267601648e-10),
 np.float64(1.0439909302719957e-10),
 np.float64(2.4190033750204773e-11),
 np.float64(5.2460314157070584e-12),
 np.float64(1.0616968341311906e-12),
 np.float64(1.9984881583645938e-13),
 np.float64(3.485735159938246e-14),
 np.float64(5.609228993004073e-15),
 np.float64(8.286361012392381e-16),
 np.float64(1.1172621589742536e-16),
 np.float64(1.3655426387463099e-17),
 np.float64(1.5005963063146263e-18),
 np.float64(1.4679746474816996e-19),
 np.float64(1.2627738903068384e-20),
 np.float64(9.403635353348797e-22),
 np.float64(5.939138117904503e-23),
 np.float64(3.093301103075262e-24),
 np.float64(1.275588083742376e-25),
 np.float64(3.9048614808440084e-27),
 np.float64(7.888609052210118e-29),
 np.float64(7.888609052210118e-31)]
PXnomal
array([1.53891973e-23, 1.11460000e-22, 7.75622386e-22, 5.18572940e-21,
       3.33117606e-20, 2.05595471e-19, 1.21915163e-18, 6.94592550e-18,
       3.80216308e-17, 1.99967575e-16, 1.01045422e-15, 4.90571057e-15,
       2.28831298e-14, 1.02555073e-13, 4.41597993e-13, 1.82694408e-12,
       7.26192300e-12, 2.77335999e-11, 1.01762806e-10, 3.58756782e-10,
       1.21517657e-09, 3.95463928e-09, 1.23652410e-08, 3.71472369e-08,
       1.07220707e-07, 2.97343903e-07, 7.92259818e-07, 2.02817041e-06,
       4.98849426e-06, 1.17886136e-05, 2.67660452e-05, 5.83893852e-05,
       1.22380386e-04, 2.46443834e-04, 4.76817640e-04, 8.86369682e-04,
       1.58309032e-03, 2.71659385e-03, 4.47890606e-03, 7.09491857e-03,
       1.07981933e-02, 1.57900317e-02, 2.21841669e-02, 2.99454931e-02,
       3.88372110e-02, 4.83941449e-02, 5.79383106e-02, 6.66449206e-02,
       7.36540281e-02, 7.82085388e-02, 7.97884561e-02, 7.82085388e-02,
       7.36540281e-02, 6.66449206e-02, 5.79383106e-02, 4.83941449e-02,
       3.88372110e-02, 2.99454931e-02, 2.21841669e-02, 1.57900317e-02,
       1.07981933e-02, 7.09491857e-03, 4.47890606e-03, 2.71659385e-03,
       1.58309032e-03, 8.86369682e-04, 4.76817640e-04, 2.46443834e-04,
       1.22380386e-04, 5.83893852e-05, 2.67660452e-05, 1.17886136e-05,
       4.98849426e-06, 2.02817041e-06, 7.92259818e-07, 2.97343903e-07,
       1.07220707e-07, 3.71472369e-08, 1.23652410e-08, 3.95463928e-09,
       1.21517657e-09, 3.58756782e-10, 1.01762806e-10, 2.77335999e-11,
       7.26192300e-12, 1.82694408e-12, 4.41597993e-13, 1.02555073e-13,
       2.28831298e-14, 4.90571057e-15, 1.01045422e-15, 1.99967575e-16,
       3.80216308e-17, 6.94592550e-18, 1.21915163e-18, 2.05595471e-19,
       3.33117606e-20, 5.18572940e-21, 7.75622386e-22, 1.11460000e-22])

# Parameters for the distribution
n = 20       # Number of trials (large n for good agreement)
p = .5        # Probability of success (e.g., fair coin)
q = 1 - p      # Probability of failure


PXbinomial = []
for k in range(n+1):
    probX = spsp.comb(n,k)*p**k * q**(n-k)
    PXbinomial.append(probX)

mu = n*p
sigma = np.sqrt(n*p*q)

X = np.arange(-2,n,.01)
PXnomal = (1/(sigma*np.sqrt(2*np.pi))) * np.exp(-((X-mu)**2)/(2*sigma**2))

fig,ax = plt.subplots(figsize=(12,6))

ax.plot(PXbinomial, label='binomial')
ax.plot(X,PXnomal,label='normal')

# ax.set_xlim(,5)
ax.legend()

np.sum(PXbinomial)
np.float64(1.0)