Python - 多行打印图像无法正确显示问题

时间:2016-09-23 20:01:48

标签: python printing

我在为Rock - Paper - Scissors显示图像时遇到了一些问题。我是python的新手(3周),我正在尝试打印多行'图像' 请原谅我可怕的艺术!

import random

def Display_Rock():
    print ("""\n
   _---___
  / .#.... \
 / .$../\.. \
 |_________/
""")

def Display_Paper():
    print ("""\n
 __________
|~~~~~~~~~~|
|~~~~~~~~~~|
|~~~~~~~~~~|
|~~~~~~~~~~|
|~~~~~~~~~~|  
|~~~~~~~~~~| 
|__________|
""")

def Display_Scissors():
    print ("""\n

    _----_
   / /--\ \     
  |  \__/  \_________________
   \____                     \
    /       ------------------\
   /  /--\  _________________/
   |  \__/  /
    \-____-/          
 """)
 Display_Rock()
 Display_Scissors()
 Display_Paper()

显示以下内容 -

   _---___
 / .#.... / .$../\.. |_________/




         ----_
       / /--\ \     
      |  \__/  \_________________
       \____                       /       ------------------ / /--\   
      _________________/            
      |  \__/  /
       \-____-/          



       __________
      |~~~~~~~~~~|
      |~~~~~~~~~~|
      |~~~~~~~~~~|
      |~~~~~~~~~~|
      |~~~~~~~~~~|  
      |~~~~~~~~~~| 
      |__________|

感谢您提前阅读和提出任何意见!

2 个答案:

答案 0 :(得分:0)

在字符串之前使用r,如下所示:

def Display_Rock():
    print (r"""
   _---___
  / .#.... \
 / .$../\.. \
 |_________/
""")

>>> Display_Rock()

   _---___
  / .#.... \
 / .$../\.. \
 |_________/

Python将您的\视为转义字符。

答案 1 :(得分:0)

虽然其他人都是正确的,但您也可以转义\,以便不会通过添加其他\来特别对待它:

print ("""\n

    _----_
   / /--\ \\     
  |  \__/  \_________________
   \____                     \\
    /       ------------------\\
   /  /--\  _________________/
   |  \__/  /
    \-____-/          
""")

在未来的Python版本中,\无法使用未转义,因此从3.6开始,将为\_\-\发出警告,因此从那里开始您必须始终使用\\来表示\;或者你可以使用r''原始字符串;虽然那时你不能使用\n换行。