Stack Overflow的好人,
似乎我回到这里进行了调查。
我已经从网上借了一些ascii艺术品用于我的节目,不用担心,我在艺术家的最后给予了充分的信任。无论如何,无论我如何格式化它,都会扭曲字母和符号的位置。
例如,当代码是这样的时候:
'''
___________.._______
| .__________))______|
| | / / ||
| |/ / ||
| | / ||.-''.
| |/ |/ _ \
| | || `/,|
| | (\\`_.'
| | .-`--'.
| | /Y . . Y\
| | // | | \\
| | // | . | \\
| | (') | | (`)
| | ||'||
| | || ||
| | || ||
| | || ||
| | / | | \
""""""""""|_`-' `-' |"""|
|"|"""""""\ \ '"|"|
| | \ \ | |
: : \ \ : :
. . `' . .
'''
(它是列表的一部分)
运行时,似乎是这样:
___________.._______
| .__________))______|
| | / / ||
| |/ / ||
| | / ||.-''.
| |/ |/ _ | | || `/,|
| | (\`_.'
| | .-`--'.
| | /Y . . Y| | // | | \
| | // | . | \
| | (') | | (`)
| | ||'||
| | || ||
| | || ||
| | || ||
| | / | | """"""""""|_`-' `-' |"""|
|"|"""""""\ \ '"|"|
| | \ \ | |
: : \ \ : :
. . `' . .
我的问题是,这是我可能做过的事情,还是一个错误......
提前致谢! 约翰。 让我快点清楚一些事情,我问的是为什么在程序输出中错误地打印它... 很抱歉造成任何混乱。 标记答案中给出的原因是正确的,我通过更改每行的结尾,用不同的字符替换反斜杠来修复我的程序。
答案 0 :(得分:1)
问题在于\是逃避角色。例如,您可能已经看到“\ n”用于表示换行符,“\ t”表示制表符。这里你大多数都有“\”,这意味着单个文字'\'字符,而“\”后跟一个实际的换行符,它在生成的字符串中省略了换行符。
最简单的解决方案是用“\”替换字符串中的每个“\”:
>>> print "//\\\\"
//\\
然而,这当然会使查看和编辑ASCII艺术变得更加困难。
一个很好的解决方案是使用字符串文字中的“r”前缀来使用原始字符串:
>>> print r"""/\
... \/"""
/\
\/