Tester avec des nombres aléatoires en Python

Poursuite du calcul scientifique avec Python

J'étudie Python régulièrement à freeCodeCamp. Dans Article précédent, cette fois, nous allons contester * Probability Calculator *.

Question 5: Calculateur de probabilité

Ce problème est un problème qui semble avoir été résolu en tant que problème de probabilité lorsque j'étais étudiant. Trouvez la probabilité de retirer plusieurs boules colorées dans un chapeau (sac). En particulier,

--Création d'une classe Hat --Création de la méthode expérimentale: méthode pour trouver la probabilité

Point personnel: tester avec des nombres aléatoires

Cette fois, il y a un processus de retrait aléatoire de la balle du chapeau. Cela ne fonctionne pas lorsque je veux écrire un test comme ci-dessous.

 1 import unittest
 2 
 3 class UnitTests(unittest.TestCase):
 4     #Lorsque vous sortez 2 balles d'un chapeau avec 5 balles rouges et 2 balles bleues, il y a 1 balle rouge et 1 balle bleue.
 5     def test_hat_draw(self):
 6        hat = prob_calculator.Hat(red=5,blue=2)
 7        actual = hat.draw(2)
 8        expected = ['blue', 'red']
 9        self.assertEqual(actual, expected, 'Expected hat draw to return two random items from hat contents.')
10        actual = len(hat.contents)
11        expected = 5
12        self.assertEqual(actual, expected, 'Expected hat draw to reduce number of items in contents.')

Lorsque vous dessinez deux boules sur la 7ème ligne, l'implémentation interne utilise des nombres aléatoires, il n'y a donc pas toujours une boule rouge et une boule bleue. Utilisez random seed pour résoudre ce problème.


import random

balls = ['red', 'red', 'red', 'red', 'red', 'blue', 'blue']

random.sample(balls, k=2)
# ['red', 'red']
random.sample(balls, k=2)
# ['red', 'blue']

random.seed(0)
random.sample(balls, k=2)
# ['blue', 'red']
random.seed(0)
random.sample(balls, k=2)
# ['blue', 'red']

En définissant la graine du nombre aléatoire à l'avance de cette manière, le même comportement peut toujours être obtenu.

finalement

Le calcul scientifique avec Python est terminé! Ensuite, je vais commencer à faire l'analyse des données avec la certification Python!

Recommended Posts

Tester avec des nombres aléatoires en Python
Marche aléatoire en Python
Nombre premier en Python
Méthodes de test qui renvoient des valeurs aléatoires en Python
Grattage au sélénium en Python
Exploitez LibreOffice avec Python
Grattage avec chromedriver en python
Débogage avec pdb en Python
Automatisez les tests python avec CircleCI
Juger les nombres premiers avec python
Gérer les sons en Python
Grattage avec du sélénium en Python
Utiliser Random Forest avec Python
Grattage avec Tor en Python
Tweet avec image en Python
Combiné avec ordinal en Python
Choix aléatoire pondéré en python
Gérer les nombres complexes en Python
[Python] Obtenez les nombres dans l'image graphique avec OCR
Reconnaissance des nombres dans les images avec Python
Jouez des nombres manuscrits avec Python Partie 1
GOTO en Python avec Sublime Text 3
Travailler avec LibreOffice en Python: import
[Petite histoire] [Python] Remplacez les chaînes de caractères dans un tableau à deux dimensions par des nombres
Scraping avec Selenium en Python (Basic)
Analyse CSS avec cssutils en Python
générateur de nombres aléatoires français avec python
Numer0n avec des objets fabriqués avec Python
Ouvrez UTF-8 avec BOM en Python
Utiliser rospy avec virtualenv dans Python3
Utiliser Python mis en pyenv avec NeoVim
Heatmap avec dendrogramme en Python + matplotlib
Lire des fichiers en parallèle avec Python
Générer un mot de passe pour le manuel avec python
La loi des nombres en python
Utiliser OpenCV avec Python 3 dans Window
Jusqu'à traiter de python dans Atom
Créer une chaîne aléatoire en Python
Démarrez avec Python avec Blender
Travailler avec des images DICOM en Python
Écrire de la documentation dans Sphinx avec Python Livereload
Obtenez des données supplémentaires vers LDAP avec python
Livre en spirale en Python! Python avec un livre en spirale! (Chapitre 14 ~)
Essayez de vous connecter à qiita avec Python
Test de stress avec Locust écrit en Python
Contrôle exclusif avec fichier de verrouillage en Python
Surveillance des appareils effectuée par Python On-box de IOS-XE
Jouez des nombres manuscrits avec python, partie 2 (identifier)
[Python] Comment afficher des nombres aléatoires (module aléatoire)
Essayez de travailler avec des données binaires en Python
Dessinez Nozomi Sasaki dans Excel avec python
Conseils pour gérer les binaires en Python
Mettre en œuvre collectivement des tests d'hypothèses statistiques en Python
Afficher Python 3 dans le navigateur avec MAMP
Comment utiliser BigQuery en Python
Classe Trump en Python (avec comparaison)
Gérer les "années et mois" en Python
Traiter plusieurs listes avec for en Python