[Tutor] What's the best way to model an unfair coin?
Jose Amoreira
ljmamoreira at gmail.com
Sun Oct 24 17:46:22 CEST 2010
On Sunday, October 24, 2010 01:18:52 pm Alan Gauld wrote:
> In pseudo code:
>
> def coinToss(prob = 0.5):
> rand = random()
> if rand >= prob: return True
> else: return False
>
> print "Heads" if coinToss(6/11) else "Tails"
>
The only problem with this snippet is integer division: 6/11=0, at least in
Python 2.6, so that the final line will always print "Heads".
But wait! This is pseudo code! Ah, OK. Then 6/11=0.545454..., and Alan was
right (as usual).
This pseudo code snippet is almost Python code. It looks like Python, it
smells like Python, it even runs as Python, if you import random from random
beforehand.
Python really is executable pseudo code!
Cheers
Jose Amoreira
More information about the Tutor
mailing list