python-如何以n行打印输出

时间:2013-10-06 11:18:38

标签: python output lines

 for r in range(0,11):
    print r
0
1
2
3
4
5
6
7
8
9
10

无论如何都要获得像

这样的输出
0 1 2 3 4 5
6 7 8 9 10

或者我想要的行数

但不是

for r in range (0,6):
    print r,
print
for r in range(6,11):
    print r,

这只是一个例子 我的程序需要打印

* - - - - - - - - - - - - - - - - - - -
* * - - - - - - - - - - - - - - - - - -
* - * - - - - - - - - - - - - - - - - -
* * - * - - - - - - - - - - - - - - - -
* - - - * - - - - - - - - - - - - - - -
* * * - - * - - - - - - - - - - - - - -
* - - - - - * - - - - - - - - - - - - -
* * - * - - - * - - - - - - - - - - - -
* - * - - - - - * - - - - - - - - - - -
* * - - * - - - - * - - - - - - - - - -
* - - - - - - - - - * - - - - - - - - -
* * * * - * - - - - - * - - - - - - - -
* - - - - - - - - - - - * - - - - - - -
* * - - - - * - - - - - - * - - - - - -
* - * - * - - - - - - - - - * - - - - -
* * - * - - - * - - - - - - - * - - - -
* - - - - - - - - - - - - - - - * - - -
* * * - - * - - * - - - - - - - - * - -
* - - - - - - - - - - - - - - - - - * -
* * - * * - - - - * - - - - - - - - - *

但我只能生成每个字符的行和所有字符的一行。 所以请帮忙

3 个答案:

答案 0 :(得分:0)

您可以使用if声明:

if r >= 0 and r < 6:
    print r
if r >= 6 and <= 10:
    print r,

答案 1 :(得分:0)

你可以这样做:

>>> from itertools import izip_longest
>>> for i in izip_longest(*[iter(range(11))]*6, fillvalue=''):
...     print ' '.join(map(str, i))
... 
0 1 2 3 4 5
6 7 8 9 10 

可能有更好的解决方案

答案 2 :(得分:0)

首先列出要打印的内容,然后使用例如循环中的一个简单模数:

toprint=['*','-',1,2,'a','b','c','d',3,4,5,'-','l',0]

width=4

tmp=''
for i,char in enumerate(toprint):
   tmp=tmp+' '+str(char)
   if (i+1)%width==0:
      print tmp
      tmp=''

给出

 * - 1 2
 a b c d
 3 4 5 -