[Tutor] new user question about while loops
Alan Gauld
alan.gauld at freenet.co.uk
Wed Oct 26 10:53:08 CEST 2005
As Danny says, try breaking the problem into chunks and solving
each bit separately. I'll provide a few comments on your code in
the meantime but try the "evolving soluition" approach too.
#assigning variables to track the amount of times heads or tails comes up
heads=0
tails=1
AG> Why not make both zero, after all there have been no flips so far!
flip=100
while flip < 100:
AG> flip is never less than 100 because you set it to 100!
AG> Thus you never enter the loop...
flip -= 1
random.randrange(2)
if flip < 100:
break
AG> And if you did after the first time through you make flip equal 99
AG> so that it will always exit the loop(break) here so it would only run
once!
AG> Try getting a while loop to run 100 times printing out the loop test
value.
AG> Or better stuill, since you know how many times you want the lopp to
AG> run use a for loop instead:
AG> for loop in range(100):
AG> # loop code here
print "\nThe amount of times tails came up was" , tails , "The amount of
times heads came up was" , heads
AG> But the only values you assign to head/tails are the initial 1 and 0.
AG> Try Danny;'s suggestion of flipping the coin twice...
HTH,
Alan G
Author of the learn to program web tutor
http://www.freenetpages.co.uk/hp/alan.gauld
More information about the Tutor
mailing list