2013-07-08 127 views
-3

你好善良的人堆栈溢出,蟒蛇扭曲ascii艺术

看来,我回到这里与询问。

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

例如,当代码是这样的:

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

(这是一个列表的一部分)

运行时,它似乎是这样的:

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

我的问题是,这是我可能做了什么,或者它是一个错误...

在此先感谢! 约翰。 让我快速清除一些东西,我问的是为什么它在程序输出中被错误地打印出来...... 对不起,造成任何混淆。 在答案中给出的理由是正确的,我推荐我的程序通过更改每行的结尾来修复错误,用不同的字符替换反斜杠。

回答

1

问题是\是逃逸角色。例如,您可能看到“\ n”用于表示换行符,“\ t”表示制表符。这里主要有“\”,意思是单个字符'\'字符,而“\”后面跟着一个实际的换行符,它在生成的字符串中省略了换行符。

最简单的解决方案是只是“\”替换每一个“\”,在您的字符串:

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

但是,当然,这将使其难以查看和编辑ASCII艺术。

为你的情况一个很好的解决方案是通过使用字符串文字的“R”字头使用原始字符串:

>>> print r"""/\ 
... \/""" 
/\ 
\/ 
+0

这将是很好的,但是,它不与“打印”使用。它是名为“HANGMANPICS”的一部分。该程序使用len打印列表的某些部分,我将如何在这里实现它? –

+0

无论如何,您的回答是正确的,我只是略微改变了ascii艺术,非常感谢! –