codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
import random import time def analyzeCoin(coin, numSamples=1000): numTails = 0 numHeads = 0 for x in xrange(numSamples): result = coin() if result == 1: numHeads += 1 elif result == 0: numTails += 1 pH = int((float(numHeads)/numSamples)*100) pT = int((float(numTails)/numSamples)*100) print "After %d flips, this coin landed heads %d%% of the time and tails %d%% of the time" % (numSamples, pH, pT) def biasedCoin(): "This coin is biased 1:99" n = random.randrange(0,100) return int(n == 0) def makeFairCoin(coin): def fair(): while(1): flip1 = coin() flip2 = coin() if (flip1 != flip2): return flip1 return fair analyzeCoin(biasedCoin) fairCoin = makeFairCoin(biasedCoin) analyzeCoin(fairCoin)
Private
[
?
]
Run code
Submit