Beginners Query - Simple counter problem

Scott David Daniels Scott.Daniels at Acm.Org
Thu Sep 6 14:00:33 EDT 2007


David Barr wrote:
> I am brand new to Python (this is my second day), and the only 
> experience I have with programming was with VBA.  Anyway, I'm posting 
> this to see if anyone would be kind enough to help me with this (I 
> suspect, very easy to solve) query.
> 
> The following code is in a file which I am running through the 
> interpreter with the execfile command, yet it yeilds no results.  I 
> appreciate I am obviously doing something really stupid here, but I 
> can't find it.  Any help appreciated.
> 
> 
> def d6(i):
>     roll = 0
>     count = 0
>     while count <= i:
>         roll = roll + random.randint(1,6)
>         count += 1
> 
>     return roll
> 
> print d6(3)
A) your direct answer: by using <=, you are rolling 4 dice, not 3.
B) Much more pythonic:

import random

def d6(count):
     result = 0
     for die in range(count):
         result += random.randint(1, 6)
     return result

-Scott David Daniels
Scott.Daniels at Acm.Org



More information about the Python-list mailing list