On Thu, 27 Oct 2005 07:00:34 +0000, Gorlon the Impossible wrote: > Hello. I am using Python 2.3.5 with IDLE 1.0.5 on a Windows98 PC. > I have some programming experience but mostly I am still learning. > I am having some trouble understanding the behaviour of a piece of > code I have written. It plots points using PIL. > Here is my loop: > > triangle = [(320,27),(172,323),(468,323)] > currentpoint = (randint(0,640),randint(0,350)) > t = 0 > while t < 10:
Let me guess... you're a C programmer, right? This is bad practice. The preferred idiom is to do something like this: for t in range(10): # loop Why manage your own loop variable, inefficiently duplicating code that already exists in Python? > ct = choice(triangle) > mp = (currentpoint[0] + ct[0])/2, (currentpoint[1] + ct[1])/2 > draw.point(mp,(0,0,0)) > currentpoint = mp > t = t + 1 > > This works fine. But, if I try to divide by a floating point number in > the calculation of mp, instead of mp being overwritten each time thru > the loop, it starts accumulating, leading to overflow errors for large > values of t. > Why is this? Please explain your problem first. In particular, show us the code that you use that "it (what?) starts accumulating". -- Steven. -- http://mail.python.org/mailman/listinfo/python-list