Ich lerne Python ständig bei freeCodeCamp. In Vorheriger Artikel werden wir diesmal * Wahrscheinlichkeitsrechner * herausfordern.
Dieses Problem ist ein Problem, das als Wahrscheinlichkeitsproblem gelöst zu sein scheint, als ich Student war. Finden Sie die Wahrscheinlichkeit, mehrere farbige Kugeln in einem Hut (einer Tasche) herauszunehmen. Speziell,
--Eine Hat-Klasse erstellen
Dieses Mal wird der Ball zufällig aus dem Hut genommen. Es funktioniert nicht, wenn ich einen Test wie unten schreiben möchte.
1 import unittest
2
3 class UnitTests(unittest.TestCase):
4 #Wenn Sie 2 Bälle aus einem Hut mit 5 roten und 2 blauen Bällen herausnehmen, gibt es 1 roten und 1 blauen Ball.
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.')
Wenn Sie zwei Bälle in der 7. Linie zeichnen, verwendet die interne Implementierung Zufallszahlen, sodass nicht immer ein roter und ein blauer Ball vorhanden sind. Verwenden Sie "Random Seed", um dies zu lösen.
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']
Wenn Sie den Startwert der Zufallszahl auf diese Weise im Voraus festlegen, kann immer das gleiche Verhalten erzielt werden.
Wissenschaftliches Rechnen mit Python ist vorbei! Als nächstes beginne ich mit der Datenanalyse mit Python-Zertifizierung!
Recommended Posts