蟒蛇扭曲了ascii艺术

时间:2013-07-08 14:48:12

标签: python-3.3 distortion ascii-art

Stack Overflow的好人,

似乎我回到这里进行了调查。

我已经从网上借了一些ascii艺术品用于我的节目,不用担心,我在艺术家的最后给予了充分的信任。无论如何,无论我如何格式化它,都会扭曲字母和符号的位置。

例如,当代码是这样的时候:

'''
 ___________.._______  
| .__________))______|
| | / /      ||
| |/ /       ||
| | /        ||.-''.
| |/         |/  _  \
| |          ||  `/,|
| |          (\\`_.'
| |         .-`--'.
| |        /Y . . Y\
| |       // |   | \\
| |      //  | . |  \\
| |     (')  |   |  (`)
| |          ||'||
| |          || ||
| |          || ||
| |          || ||
| |         / | | \
""""""""""|_`-' `-' |"""|
|"|"""""""\ \       '"|"|
| |        \ \        | |
: :         \ \       : :  
. .          `'       . .
'''

(它是列表的一部分)

运行时,似乎是这样:

 ___________.._______
| .__________))______|
| | / /      ||
| |/ /       ||
| | /        ||.-''.
| |/         |/  _  | |          ||  `/,|
| |          (\`_.'
| |         .-`--'.
| |        /Y . . Y| |       // |   | \
| |      //  | . |  \
| |     (')  |   |  (`)
| |          ||'||
| |          || ||
| |          || ||
| |          || ||
| |         / | | """"""""""|_`-' `-' |"""|
|"|"""""""\ \       '"|"|
| |        \ \        | |
: :         \ \       : :  
. .          `'       . .

我的问题是,这是我可能做过的事情,还是一个错误......

提前致谢! 约翰。 让我快点清楚一些事情,我问的是为什么在程序输出中错误地打印它... 很抱歉造成任何混乱。 标记答案中给出的原因是正确的,我通过更改每行的结尾,用不同的字符替换反斜杠来修复我的程序。

1 个答案:

答案 0 :(得分:1)

问题在于\是逃避角色。例如,您可能已经看到“\ n”用于表示换行符,“\ t”表示制表符。这里你大多数都有“\”,这意味着单个文字'\'字符,而“\”后跟一个实际的换行符,它在生成的字符串中省略了换行符。

最简单的解决方案是用“\”替换字符串中的每个“\”:

>>> print "//\\\\"
//\\

然而,这当然会使查看和编辑ASCII艺术变得更加困难。

一个很好的解决方案是使用字符串文字中的“r”前缀来使用原始字符串:

>>> print r"""/\
... \/"""
/\
\/