Format the ouput in my python code

Dave Angel d at davea.name
Mon Nov 21 09:34:14 EST 2011


On 11/21/2011 09:27 AM, Dave Angel wrote:
> On 11/21/2011 07:13 AM, sl33k wrote:
>> I am printing the numbers from 1 to 100. In that, I want to display
>> multiples of 3,5 and of both as mulof3, mul0f5 and mulof3and5
>> respectively.
>>
>>   I am getting the output I want but I would like to format the output
>> to print only 10 number per line. How do I go about doing this?
>>
>> for i in range(1, 101):
>>      if i % 3 == 0:
>>          if i % 5 == 0:
>>              print 'mulof3and5',
>>          else:
>>              print 'mulof3',
>>      elif i % 5 == 0:
>>          print 'mulof5',
>>      else:
>>          print i
>>
> Change that loop into a generator, having it return values rather than 
> printing them.  Then call that generator in a for-loop, something like:
>
> for index, val in enumerate(mygen):
>     print val,
>     if not index%10: print
>
>
Oops.  That was untested, and it probably wasn't quite what you wanted.  
More likely something like (untested):

for index, val in enumerate(mygen):
      print val,
      if not ((index+1)%10): print




-- 

DaveA




More information about the Python-list mailing list