On 01/-10/-28163 02:59 PM, pyhx0r wrote:
Dear All,


<snip>
     multiple = 1024 if a_kilobyte_is_1024_bytes else 1000
     for suffix in SUFFIXES[multiple]:
         size /= multiple
         if size<  multiple:
             return '{0:.1f} {1}'.format(size, suffix)

 <snip>

I’ve shorted the code be:


SUFFIXES = {1000: ['KB','MB','GB'],

                         1024: ['KiB','MiB','GiB']}

multiple = 1000

size = 2300
for suffix in SUFFIXES[multiple]:
                 size /= multiple
                 if size<  multiple:
                                 '{0:.1f} {1}'.format(size, suffix)

<snip>


*Why do in my code, it loops to all values and not in Mark Pilgrim’s code?*


(Is there a reason you double-spaced all that code? It makes it very hard to read, and quite difficult to quote, since I had to delete every other line.)

You wrote your code inline, and not as a function. And you omitted the return statement. So the loop won't return, it'll run to completion.

Another way to exit a loop early is to use the break statement.


DaveA
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to