Exemplo n.º 1
0
 def pattern(self, sequence):
     trials = len(sequence)
     c = Coin()
     sample = []
     for _ in range(10_100_000):
         trial = ''.join([c.flip() for _ in range(trials)])
         sample.append(trial)
Exemplo n.º 2
0
 def p_2_heads(self):
     c = Coin()
     successes = []
     trials = 100_000
     for _ in range(trials):
         is_success = [c.flip() for _ in range(2)].count('H') == 2
         successes.append(is_success)
     return sum(successes) / trials
Exemplo n.º 3
0
 def p_pattern(self, pattern):
     c = Coin()
     successes = []
     trials = 100_000
     for _ in range(trials):
         is_success = ''.join([c.flip()
                               for _ in range(len(pattern))]) == pattern
         successes.append(is_success)
     return sum(successes) / trials
Exemplo n.º 4
0
 def p_pattern(self, patt, cnt =100_000):
     flip_cnt = len(patt)
     t_patt = list(patt)
     #print(t_patt)
     results = []
     c = Coin()
     for i in range(cnt):
         flips = [] 
         for i in range(flip_cnt):
             flips.append(c.flip()) 
         results.append(flips)
     return (results.count(t_patt) / cnt)
Exemplo n.º 5
0
    def p_pattern(self, pat):

        l = len(pat)
        c = Coin()
        successes = []
        trials = 100_000_0
        for _ in range(trials):
            is_success = ''.join([c.flip() for _ in range(l)]) == pat
            successes.append(is_success)
        return sum(successes) / trials


# class Experiment:
#     def p_2_heads(self):
#         c = Coin()
#         successes = []
#         trials = 100_000
#         for _ in range(trials):
#             is_success = [c.flip() for _ in range(2)].count('H') == 2
#             successes.append(is_success)
#         return sum(successes) / trials
Exemplo n.º 6
0
def test_flip():
    c = Coin()
    assert c.flip() in c.states
Exemplo n.º 7
0
def test_fair_coin():
    c = Coin()
    outcomes = []
    for i in range(100_000):
        outcomes.append(c.flip())
Exemplo n.º 8
0
 def p_2_heads(self, cnt =100_000):
     results = []
     c = Coin()
     for i in range(cnt):      
         results.append((c.flip(),c.flip()))  
     return (results.count(('H','H')) / cnt)