Python:逐行打印字符串到stdout的数组

时间:2016-04-12 16:00:05

标签: python stdout

我需要打印到stdout(但下一步是打印到文件)一个字符串数组,包含用于构建形状的信息。 下面是for循环:

for i in range(0, xMax):
    for j in range(0, yMax):
        print arena_shape[ j + i*yMax]
    print('\r')

数组arena_shape []包含用于构建2D图形的字符,图形为i = [0,xMax]行和j = [0,yMax]列。 我希望输出为:

i=0    ----------    ------
i=1    |                  |
       |                  |
       |                  |
       |                  |
       |                  |
       |                  |
i=xMax --------------------

而不是像我期望的那样将第一行(i=0, j=[0,yMax])放在“水平”中,我将它显示为垂直,即使我只在更改\r时告诉python row i而不是每个column j

i=0 -
    -
    -
    -
    -
    -
    -
    -
    -
    -




    -
    -
    -
    -
    -
    -

我不明白为什么在print("\r")指令后这不会改变行。 提前感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

Python中的print函数始终以新行打印。如果你想在没有换行的情况下进行打印,我建议在临时变量中存储需要打印的内容,并在退出内部for循环时打印它

for i in range(0, xMax):
    temp_variable = ''
    for j in range(0, yMax):
        temp_variable += arena_shape[ j + i*yMax]
    print temp_variable