我正在尝试为迷宫对象定义 str ()并打印出类似这样的内容:
#######
#J..P.#
#.###.#
#..@#.#
#@#.@.#
#######
但是,当我构建要返回的字符串时,它最终会被打印为:
'#######\n#J..P.#\n#.###.#\n#..@#.#\n#@#.@.#\n#######\n'
我正在做的就是浏览列表列表(每行是一个列表,整个迷宫是这些行列表的列表)并在每行的末尾连接一个“\ n”。在返回之前我是否应该对结果字符串执行其他操作,以便在调用print()或str()时迷宫的字符串表示将返回第一个所需的表示形式?
答案 0 :(得分:1)
您是使用print语句打印,还是只是让Python打印该值?例如:
>>> a = "This is a\nmultiline string"
>>> a
'This is a\nmultiline string'
>>> print a
This is a
multiline string
这只是正常的Pythonic行为。
答案 1 :(得分:0)
您是否尝试过使用原始字符串? (即用r""" """
而不是" "
或' '
包裹的字符串。
此外,您可以考虑使用os.linesep
而不是硬编码\n
来实现操作系统独立性。关于here的更多信息。