def IFBino1(n = 14, p = .6, seuil = .95): from scipy.stats import binom from matplotlib import pyplot as plt x = range(n + 1) reparti = binom.cdf(x, n, p) a = min([i for i in x if reparti[i] > (1 - seuil) / 2]) b = min([i for i in x if reparti[i] >= (1 + seuil) / 2]) pIF = binom.cdf(b, n, p) - binom.cdf(a - 1, n, p) print("l'IF au seuil de", seuil, "de la va X est :", "[", a, ";", b, "],\n sa probabilité est", pIF) distrib = binom.pmf(x, n, p) listCoul = ['red'] * a + ['green'] * (b - a + 1) + ['red'] * (n - b) plt.figure() plt.bar(x, reparti, color = listCoul) plt.plot((0, n), ((1 - seuil) / 2, (1 - seuil) / 2), color = 'red') plt.plot((0, n), ((1 + seuil) / 2, (1 + seuil) / 2), color = 'red') plt.title("RÉPARTITION DE PROBABILITÉ") plt.xlabel("VALEURS DE LA V.A. X") plt.ylabel("PROBABILITÉS CUMULÉES CROISSANTES") plt.grid() plt.show()