Basic coin flipper program - logical error help
wes weston
wweston at att.net
Tue Feb 21 19:39:16 EST 2006
DannyB wrote:
> I'm just learning Python. I've created a simple coin flipper program -
> here is the code:
>
> [source]
> #Coin flipper
> import random
>
> heads = 0
> tails = 0
> counter = 0
>
> coin = random.randrange(2)
>
> while (counter < 100):
> if (coin == 0):
> heads += 1
> counter += 1
> else:
> tails += 1
> counter += 1
>
> coin = random.randrange(2)
>
>
> print "\nThe coin landed on heads", heads, "times."
> print "\nThe coin landed on tails", tails, "times."
> [/source]
>
> <<<I'm sure the [source] tags don't work - I through them in there
> anyway.>>>
>
> The program runs - however - it will give me 100 heads OR 100 tails.
> Can someone spot the logic error?
>
> Thanks
>
> ~Dan
>
Dan,
Looping is easier with:
for x in range(100):
if random.randint(0,1) == 0:
heads += 1
else:
tails += 1
Inside the loop you need to "flip" on each pass.
You're "flipping" once before the start of the loop now.
wes
More information about the Python-list
mailing list