python / python/cpython

statistics module NormalDist.quantiles(0) should raise statistics error instead of returning empty list and makes redundant checks

Ouverte
#154,945 4 commentaires 0 réactions 1 personne assignée Voir sur GitHub

@rhettinger y travaille déjà.

Depuis le 6/8/2026.

pending stdlib
Langage dominant
Python
Étoiles
77.2k
Forks
35.9k
Métriques de merge des PR
Métriques de PR en attente

Description

Bug report

Bug description:
import statistics

d = statistics.NormalDist()

print(d.quantiles(0))

output:
[]
  1. The called function inv_cdf checks for p <= 0 or .. during every iteration of the loop rather than once, even though all values of p are guaranteed to be in the range through the way they are generated as i / n.
self.inv_cdf(i / n) for i in range(1, n)

inv_cdf(self, p)
...
 if p <= 0.0 or p >= 1.0

It makes more sense to call the implementation _normal_dist_inv_cdf(p, self._mu, self._sigma) directly.

CPython versions tested on:

3.13

Operating systems tested on:

Other

Linked PRs
  • gh-155015

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.