我想在终端上使用python 3打印一些ASCII艺术作品。我已经尝试过使用三重引号,但是遇到了各种语法错误。你会怎么做?
让我们来一个very good ASCII ART,我们想在终端上打印它。诱人的示例程序::
print('''\
.$$$$$:$$$:$$$$$$$ _..._ .$$$SSSSSS$$$$$$$$$.
.$$$$$:$$$$:$$$$$$$ ~.sggg. " .~(g )$$$$$$$$$$.
$$$$$:$$$$$:$$$$$$$ .sS$$$$$$$$s. : '"--"' `$$$$$$$$$$.
`$$$:$$$$$$:$$$$$$$.$$" .. g"-. `. `.-.._ `$$$$$$$$$$
$$$:$$$$$$:$$$$$$$`$' ' `._.' : `--- $$$$$$$$$.
$$$:.$$$$$:$$$$$$$ `---' _.' $$$$$$$$$$$.
$$$$$:$$$$:$$$$$$s ----" . $$$$$$$$$$$$.
$$$$$`.$$$:$$$$$$$. `-._ .$$$$$$$$$$$$$$Sss.
$$$$$$`;$$:$$$$$$$$. _.: .' ; $$$$$$$$$$$$$$$$$$$.
.s$$$$$$'$$`.$$$$$$$$. .' `. ' _ .`. $$$$$$$$$$$$$$$$$$$$Ss.
.s$$$$$$$$$$$$:$$$$$$$$$ : _ ~~-...'.'.' : $$$$$$$$$$$$$$$$$$$$$$$
.s$$$$$$$$$$$$$$`.$$$$$$$$s : .~-,-.-.~:'.' : $$$$$$$$$$$$$$$$$$$$$$
.s$$$$$$$$$$$$$$$$$`$$$$$$$$$$. ` ~-.`"""'.' `.$$$$$$$$$$$$$$$$$$$'
''')
对不起,如果问题不清楚,我是新来的。
答案 0 :(得分:1)
您发布的示例在python 2.7和python 3中都可以正常打印。目前尚不清楚您的问题发生在哪里,因为它可以正常工作,但对于其他ASCII文本,则可能会出现错误。
要打印包含诸如'或“之类的引号的ASCII文本,您需要在打印功能的开头和结尾处添加三引号以解决此问题。
也许您的问题是您不想在ascii艺术的顶部和底部使用新行。您需要在末尾有一个空格,以便python知道它是字符串的末尾。例如:
print(''''art' ''')
请注意,在开始和结束处有3个引号,在您要打印的字符串的最后一个引号之间有一个空格。这将从字符串中删除换行符。
由于它没有空格,因此无法使用
print(''''art'''')
要摆脱顶部的换行符,您基本上需要在艺术作品的第一行上按退格键,但要保留空格。它不会在代码中对齐,但是在打印时它将正确对齐。
此代码删除顶部和底部的换行符。也许您忘记了在ascii艺术中的引号和三重引号之间的末尾添加空格。
mystring = ''' .$$$$$:$$$:$$$$$$$ _..._ .$$$SSSSSS$$$$$$$$$.
.$$$$$:$$$$:$$$$$$$ ~.sggg. " .~(g )$$$$$$$$$$.
$$$$$:$$$$$:$$$$$$$ .sS$$$$$$$$s. : '"--"' `$$$$$$$$$$.
`$$$:$$$$$$:$$$$$$$.$$" .. g"-. `. `.-.._ `$$$$$$$$$$
$$$:$$$$$$:$$$$$$$`$' ' `._.' : `--- $$$$$$$$$.
$$$:.$$$$$:$$$$$$$ `---' _.' $$$$$$$$$$$.
$$$$$:$$$$:$$$$$$s ----" . $$$$$$$$$$$$.
$$$$$`.$$$:$$$$$$$. `-._ .$$$$$$$$$$$$$$Sss.
$$$$$$`;$$:$$$$$$$$. _.: .' ; $$$$$$$$$$$$$$$$$$$.
.s$$$$$$'$$`.$$$$$$$$. .' `. ' _ .`. $$$$$$$$$$$$$$$$$$$$Ss.
.s$$$$$$$$$$$$:$$$$$$$$$ : _ ~~-...'.'.' : $$$$$$$$$$$$$$$$$$$$$$$
.s$$$$$$$$$$$$$$`.$$$$$$$$s : .~-,-.-.~:'.' : $$$$$$$$$$$$$$$$$$$$$$
.s$$$$$$$$$$$$$$$$$`$$$$$$$$$$. ` ~-.`"""'.' `.$$$$$$$$$$$$$$$$$$$' '''
print(mystring)