[EMAIL PROTECTED] >> what's the standard way for a "for" loop with float increments?
[Dan Sommers] > Use a while loop instead: > > f = initial_value > while f <= final_value: > process(f) > f = f + increment > > Note that there is no general guarantee that f will actually be > final_value; see also <http://docs.python.org/tut/node16.html>. There's no guarantee that the `while` loop will execute "the expected" number of times either, and it's generally a Bad Idea to do "f += increment" inside the loop: the value of f suffers an additional rounding error on each iteration that way, potentially making it drift away from "the expected" value more & more as the loop goes on. Standard careful numeric practice is this way: n = compute the number of iterations you want to make in total for i in xrange(n): process(initial_value + i * increment) Then each value computed suffers a total of only two rounding errors (one for the multiply, one for the add), independent of how large `n` may be, and doesn't get worse as the loop goes on. -- http://mail.python.org/mailman/listinfo/python-list