Python打印多行图形时\n转义异常问题求助
问题原因&解决方法
为什么会出现转义字符和奇怪的输出?
你现在的问题出在两个关键点上:
- 不该把目标字符串放在列表里:当你执行
print(IMAGEN)时,Python打印的是列表的字符串表示(repr),而不是列表内部的字符串内容。这种表示会自动把换行符转义成\n,还会带上列表的方括号和字符串引号,自然不是你想要的效果。 - 三重引号的换行被转义:你用三重引号定义字符串时,虽然引号内的换行会被保留,但因为是通过列表打印,这些换行被转义成了可见的
\n,而不是实际渲染成换行。
解决方法
只需要去掉多余的列表,直接定义字符串变量,然后打印这个字符串就行。这里给你两种直观的写法:
写法1:用三重引号(适合直观编辑多行图形)
def interface(): # 三重引号内直接按你想要的格式换行编写 imagen = '''|°°°°°°°°°°°°°°°|| | | | |''' print(imagen) interface() # 记得调用函数才会执行打印
写法2:用\n手动拼接(适合单行定义字符串)
def interface(): imagen = "|°°°°°°°°°°°°°°°||\n |\n |\n |\n |" print(imagen) interface()
运行上面任意一段代码,控制台都会输出你想要的竖排图形,不会再出现转义字符啦。
内容的提问来源于stack exchange,提问作者emiliano gramajo
相关产品推荐
相关产品推荐

