2017-10-11 3 views
0

J'ai écrit ci-dessous le code pour utiliser la distribution binomiale CDF (en utilisant scipy.stats.binom.cdf) pour estimer la probabilité de ne pas avoir plus de k têtes sur 100 lancers, où k = 0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100. puis j'ai essayé de le tracer en utilisant hist().Distribution CDF binomiale en utilisant scipy.stats.binom.cdf

import scipy 
import matplotlib.pyplot as plt 
def binomcdf(): 
    p = 0.5 
    n = 100 
    x = 0 
    for a in range(10): 
     print(scipy.stats.binom.cdf(x, n, p)) 
     x += 10 

plt.hist(binomcdf()) 
plt.show() 

mais je ne sais pas pourquoi mon intrigue retourne vide, et je reçois ci-dessous erreur, quelqu'un peut-il aider s'il vous plaît!

TypeError: 'NoneType' object is not iterable

Répondre

1

Je voudrais enregistrer x et la sortie cdf correspondante pour chaque x associé à une liste, puis retourner cette liste. Ensuite, utilisez les données dans la liste pour faire l'intrigue.

+0

pouvez-vous s'il vous plaît modifier votre question et ajouter votre logique dans le morceau de code, parce que je suis très nouveau à python, donc je vais avoir besoin de conseils de code s'il vous plaît – Hazmat

+0

quelque chose comme 'mylist = []' –

2

Vous avez imprimé vos valeurs, mais ne les avez pas renvoyées. La valeur de retour par défaut est None, ce qui a provoqué votre erreur.

+0

Que devrais-je retourner? parce que même quand j'ai ajouté retour à la fin de ma fonction, j'ai la même erreur! – Hazmat

+0

@Hazmat: Que voulez-vous tracer avec 'hist()'? Vous devriez le retourner. –