Re: Coin Toss Sim

*To*: mathgroup at smc.vnet.net*Subject*: [mg122409] Re: Coin Toss Sim*From*: Heike Gramberg <heike.gramberg at gmail.com>*Date*: Thu, 27 Oct 2011 06:34:13 -0400 (EDT)*Delivered-to*: l-mathgroup@mail-archive0.wolfram.com*References*: <201110262139.RAA00063@smc.vnet.net>

You get a bad count because you're using SetDelayed (:=) to define which has the effect that the r.h.s. of g is reevaluated every time you call g. In this case that means that you generate a new list of coin tosses whenever you call g. So when you call {g,s} you are in fact using a different list to count the heads from the one you output. To solve this you should use Set (=) for defining g instead, e.g. y[n_] := Block[{g, s}, g = RandomChoice[{"head", "tail"}, n]; s = Count[g, "head"]; {g, s}] Heike. On 26 Oct 2011, at 23:39, pooleman133 wrote: > I am new to mathematica and am trying to make a coin flipping simulation however mo code isn't working. When I tell it to count the number of head it gives me a bad count. The code I am using is listed below any help would be greatly appreciated. > > y[n_] := Block[{g, s}, > > > g := RandomChoice[{"head", "tail"}, n]; > s := Count[g, "head"]; > {g, s} > ] >

**References**:**Coin Toss Sim***From:*pooleman133 <poolebc221@gmail.com>