C. *_*suo 3 python ascii-art python-3.x
我创建了一个常量,其中包含一些三角形的ASCII艺术,如下所示:
ascii_triangle =''' /\
/ \
/ \
/ \
/ \
/__________\ '''
Run Code Online (Sandbox Code Playgroud)
然后我用它作为函数的参数,所以我可以在函数中使用图片(以及其他一些ASCII艺术和其他参数).该功能并不重要,但问题是当我尝试使用它打印时
print(ascii_triangle)
Run Code Online (Sandbox Code Playgroud)
在函数内,输出如下:
/ / / / / /__________\
Run Code Online (Sandbox Code Playgroud)
我怎样才能让它看起来像一个合适的三角形?
您发布的ascii-art 在每个换行符之前都有一个尾随反斜杠.如果除了换行符之外没有任何内容后面的反斜杠被视为行继续符.
注意:
In [118]: x = 'foo \
...: bar \
...: baz'
In [119]: x
Out[119]: 'foo bar baz'
Run Code Online (Sandbox Code Playgroud)
在上面的示例中,在尾部反斜杠之后没有任何内容,因此python认为它是一个没有任何换行符的单个字符串.即使您有字符串的多行引用,也会给出相同的处理.
您需要在反斜杠后添加一个空格,并使您的字符串成为原始文字.
In [123]: ascii_triangle =r''' /\
...: / \
...: / \
...: / \
...: / \
...: /__________\ '''
In [124]: print(ascii_triangle)
/\
/ \
/ \
/ \
/ \
/__________\
Run Code Online (Sandbox Code Playgroud)
尝试在第一个示例中的反斜杠后添加一个空格,然后就可以了
SyntaxError: EOL while scanning string literal
Run Code Online (Sandbox Code Playgroud)
指示python将需要字符串的多行引用.
| 归档时间: |
|
| 查看次数: |
496 次 |
| 最近记录: |