从List创建一个字符串并添加换行符

时间:2012-11-03 16:08:32

标签: python string newline

我正在创建一个从函数返回的字符串。我需要字符串来列出一些值。

我创建了一个列表,该列表在最后加入以生成完整的字符串。我正在尝试在附加列表的while循环中的每次迭代中添加一个新行。

while shiftAmount < 25: #Iterates through all 26 combinations producing a processed value each time.
    shiftAndStore(shiftAmount)
    shiftAmount = shiftAmount + 1
    stringshift = str(shiftAmount)
    outputCipherText.append("The Encoded / Decoded text on shift " + str((shiftAmount - 1)) + " is ")
    outputCipherText.append(str(''.join(completePlainText)) + " \n")
    completePlainText = []
output = [''.join(outputCipherText)]

谁能告诉我为什么这不起作用?查看输出它显示\ n但不执行它并创建一个新行。

3 个答案:

答案 0 :(得分:1)

问题是您不是打印字符串而是打印字符串列表。这条线

output = [''.join(outputCipherText)]

将单个字符串添加到列表中。那对我来说看起来毫无用处,你只需改变它:

output = ''.join(outputCipherText)

获取字符串,而不是只包含一个字符串的列表。完成更改后,您可以使用print output,所有特殊字符都将执行,因此\n字符将显示为换行符。

如果您不想更改代码,则必须打印字符串而不是字符串列表:

print output[0]

答案 1 :(得分:0)

如果我错了,请纠正我,但我认为您不必包含此outputCipherText.append(str(''.join(completePlainText)) + " \n")completePlainText = []。您可以在循环后使用output = '\n'.join(outputCipherText)直接输出带有换行符的outputCipherText并调用print(output)

答案 2 :(得分:0)

把:

    output.append(''.join(outputCipherText))

在while循环结束时删除output = [''.join(outputCipherText)]