Support __index__() in getrandbits(), randbytes() and others
Personne n'a encore pris cette issue.
- Langage dominant
- Python
- Étoiles
- 77.2k
- Forks
- 35.9k
- Métriques de merge des PR
- Métriques de PR en attente
Description
Feature or enhancement
Support of the __index__() method in getrandbits() and randbytes() is inconsistent.
Random.getrandbits()supports__index__(), butSystemRandom.getrandbits()does not.SystemRandom.randbytes()supports__index__(), butRandom.randbytes()does not.
For consistence, both classes should support it.
sample() fails if its k argument is not integer. k should have __index__(), but it also should support comparison with integers and multiplication by list and integer. It is easy to make it more general, and only require __index__(). It will also produce more meaningful error.
binomialvariate() seems "working" with non-integer n argument, but the result is questionable. Passing non-integer value is most likely an error, and it would be better to detect it.
cc @rhettinger
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Repérez les implémentations et les tests de Random.getrandbits(), SystemRandom.getrandbits(), Random.randbytes(), SystemRandom.randbytes(), sample() et binomialvariate(). Comparez leur gestion des arguments non entiers, puis vérifiez que les arguments pris en charge utilisent systématiquement index() et que les entrées invalides de binomialvariate() sont rejetées.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python
- Domaine
- backend
- Type d'issue
- Fonctionnalité
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 45/100