You can use a dictionary for probabilities:
import itertools
import operator
probabilities = {'W':0.837, 'L':0.163}
for product in itertools.product(['W','L'], repeat=3): #3=number of games
p = reduce(operator.mul,
[probabilities[p] for p in product])
print product, ":", p
The reduce
function accumulates all elements of a list using function given in the first argument - here we accumulate them by multiplying.
This gives you probabilities of each event sequence. From this you can easily choose which one is "Susie winning a match", and sum the probabilities. One possibility to do this is:
import itertools
import operator
probabilities = {'W':0.837, 'L':0.163}
winProbability = 0
for product in itertools.product(['W','L'], repeat=3): #3=number of games
p = reduce(operator.mul,
[probabilities[p] for p in product])
if product.count('W') > 1: #works only for 3 games
winProbability += p
print "Susie wins:", product, "with probability:", p
else:
print "Susie looses:", product, "with probability:", p
print "Total probability of Susie winning:", winProbability
The condition works only for 3
games, but I'm really leaving this one to you - it's easy to generalize this for n
games :)