Basic coin flipper program - logical error help

Larry Bates larry.bates at websafe.com
Tue Feb 21 19:36:22 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
> 
Looks an awful lot like your homework, but I'll give you a clue.
You need to get the your coin tosses inside your loop.  Otherwise
you only toss the coin once and then loop 100 times with the
same value.

-Larry Bates



More information about the Python-list mailing list