2013-07-08 191 views
-3

你好善良的人堆棧溢出,蟒蛇扭曲ascii藝術

看來,我回到這裏與詢問。

我從互聯網上'借用'了一些ascii藝術品在我的節目中使用,不用擔心,我已經在藝術家的最後給予了充分的信任。無論如何,無論我如何格式化,它都會扭曲字母和符號的位置。

例如,當代碼是這樣的:

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

(這是一個列表的一部分)

運行時,它似乎是這樣的:

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

我的問題是,這是我可能做了什麼,或者它是一個錯誤...

在此先感謝! 約翰。 讓我快速清除一些東西,我問的是爲什麼它在程序輸出中被錯誤地打印出來...... 對不起,造成任何混淆。 在答案中給出的理由是正確的,我推薦我的程序通過更改每行的結尾來修復錯誤,用不同的字符替換反斜槓。

回答

1

問題是\是逃逸角色。例如,您可能看到「\ n」用於表示換行符,「\ t」表示製表符。這裏主要有「\」,意思是單個字符'\'字符,而「\」後面跟着一個實際的換行符,它在生成的字符串中省略了換行符。

最簡單的解決方案是隻是「\」替換每一個「\」,在您的字符串:

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

但是,當然,這將使其難以查看和編輯ASCII藝術。

爲你的情況一個很好的解決方案是通過使用字符串文字的「R」字頭使用原始字符串:

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

這將是很好的,但是,它不與「打印」使用。它是名爲「HANGMANPICS」的一部分。該程序使用len打印列表的某些部分,我將如何在這裏實現它? –

+0

無論如何,您的回答是正確的,我只是略微改變了ascii藝術,非常感謝! –