2

我正在尝试为迷宫对象定义str () 并让它打印出如下所示的内容:

#######
#J..P.#
#.###.#
#..@#.#
#@#.@.#
#######

但是,当我构建要返回的字符串时,它最终会打印为:

'#######\n#J..P.#\n#.###.#\n#..@#.#\n#@#.@.#\n#######\n'

我所做的只是遍历列表列表(每一行都是一个列表,整个迷宫是这些行列表的列表)并在每一行的末尾连接一个“\ n”。在返回结果字符串之前,我还应该对结果字符串做些什么,以便在调用 print() 或 str() 时迷宫的字符串表示将返回第一个所需的表示?

4

2 回答 2

1

您是使用 print 语句进行打印,还是仅让 Python 打印值?例如。:

>>> a = "This is a\nmultiline string"
>>> a
'This is a\nmultiline string'
>>> print a
This is a
multiline string

这只是正常的 Pythonic 行为。

于 2013-04-24T00:15:50.707 回答
1

您是否尝试过使用原始字符串?(即包裹在r""" """ 而不是" "或的字符串' ')。

此外,您可能会考虑使用os.linesep而不是硬编码\n来实现操作系统独立性。更多信息在这里

于 2013-04-24T00:10:45.593 回答