Newbie getting desperate with for
Michael Torrie
torriem at gmail.com
Fri Feb 18 11:55:09 EST 2011
On 02/17/2011 09:15 PM, Larry Hudson wrote:
> A true time waster indeed -- it's an infinite loop that will _never_ end.
>
> Others have already about the need of the shebang line to run as a python script, but I'm
> surprised no one mentioned how truly useless this code is.
>
> The i = 0 line is totally unnecessary. The variable i is created and set to zero by the first
> iteration of the for loop. The break will abort the for loop (NOT the while loop) in the first
> iteration, and the 2nd through the 10th iterations will be skipped altogether.
To be fair the range() call will be fairly time and memory-consuming on
python 2, since it returns a list.
>
> This effectively leaves your code as:
>
> while True:
> pass # Do nothing, forever
>
> An empty loop as a time delay can occasionally be useful, but as a practical matter, a for loop
> with only 10 (empty/pass) iterations is probably too short for anything useful. Instead of
> being empty, do some more complex (but ignored) operation -- say math.sqrt() or math.sin() for
> example -- and a much larger repetition count. But it's likely that does use up processor
> cycles unnecessarily, although it can give you delays of fractions of seconds. If you want
> delays greater than a second, check out the time.sleep() function.
>
> -=- Larry -=-
More information about the Python-list
mailing list