beginner code problem
Schüle Daniel
uval at rz.uni-karlsruhe.de
Fri Jun 2 19:35:09 EDT 2006
Hello
> Here's the code I wrote:
>
> import random
>
> flip = random.randrange(2)
> heads = 0
> tails = 0
> count = 0
>
> while count < 100:
>
> if flip == 0:
flip never changes again
it's not reassigned in the while loop
> heads += 1
>
> else:
> tails += 1
>
>
> count += 1
>
>
>
> print "The coin landed on heads", heads, 'times ' \
> "and tails", tails, 'times'
>
in case you know how many times to iterate
it's better to use for loop (in python and eq C also)
from random import randrange as flip
result = [0,0]
for i in range(100):
result[flip(2)] += 1
or
from random import randrange as flip
result = {"head":0,
"tail":0}
for i in range(100):
result[["head","tail"]flip(2)] += 1
or
>>> class Coin:
... def flip(self):
... import random
... return ("head", "tail")[random.randrange(2)]
c = Coin()
result = {"head":0,"tail":0}
for i in range(100):
result[c.flip()] += 1
or many many more
the important thing is .. to know what is the
most suitable data representation for you
is it throw-away-code or is this going to be read
by other people .. etc
hth, Daniel
More information about the Python-list
mailing list