Como simular o lançamento de moedas tendenciosas em python?

Na moeda imparcial, o flip H ou T ocorre 50% das vezes.

Mas quero simular uma moeda que dê H com probabilidade 'p' e T com probabilidade '(1-p)'.

algo assim:

def flip(p):
   '''this function return H with probability p'''
   # do something
   return result

>> [flip(0.8) for i in xrange(10)]
[H,H,T,H,H,H,T,H,H,H]

questionAnswers(5)

yourAnswerToTheQuestion