To start the game, they put several black and white pearls in one of the boxes. Each robots have Nth moves, then initial set are restored for a next player. For each move, the robot take a pearl out of the box and put one of the opposite color back. The winner is the one who pulls the white pearl on the Nth step (or +1 point if they play many parties).
Our robots don't like indeterminacy and want to know the probability of a white pearl on the Nth step. The probability is a value between 0 (0% chance or will not happen) and 1 (100% chance or will happen). The result is a float from 0 to 1 with two digits precision (±0.01).
You are given a start set of pearls as a string that contains "b" (black) and "w" (white) and the number of the step (N). The order of the pearls does not matter.
Input: The start sequence of the pearls as a string and the step number as an integer.
Output: The probability for a white pearl as a float.
checkio('bbw', 3) == 0.48 checkio('wwb', 3) == 0.52 checkio('www', 3) == 0.56 checkio('bbbb', 1) == 0 checkio('wwbb', 4) == 0.5 checkio('bwbwbwb', 5) == 0.48
How it is used: This task introduces you to the basics of probability theory and statistics. Fun fact: regardless of the initial state, as the number of steps increases, the probability approaches 0.5!
0 < N ≤ 20
0 < |pearls| ≤ 20
How to use TryIt: