出于某种原因,即使使用三引号,文本也会被错误地打印出来这些是我遇到问题的变量...我有其他带三重引号的变量,打印时正确打印!问题只出在这些ASCII码上
其中一个有问题的变量是这个ASCII,其他的只是更少的身体部位;)
gv_sixTries = '''
___________.._______
| .__________))______|
| | / / ||
| |/ / ||
| | / ||.-''.
| |/ |/ _ \
| | || `/,|
| | (\\`_.'
| | .-`--'.
| | /Y . . Y\
| | // | | \\
| | // | . | \\
| | ') | | (`
| | ||'||
| | || ||
| | || ||
| | || ||
| | / | | \
| | `-' `-'
| |
| |
: :
. .
'''
这个变量是这样打印的:image
打印代码只是普通打印(gv_NUMBERTries)
操作系统:Windows 10
解释器:Python IDLE 3.7.2
在字符串中添加r
gv_sixTries = r'''
___________.._______
| .__________))______|
| | / / ||
| |/ / ||
| | / ||.-''.
| |/ |/ _ \
| | || `/,|
| | (\\`_.'
| | .-`--'.
| | /Y . . Y\
| | // | | \\
| | // | . | \\
| | ') | | (`
| | ||'||
| | || ||
| | || ||
| | || ||
| | / | | \
| | `-' `-'
| |
| |
: :
. .
'''
这告诉python使用字符串作为原始文字,而不是使用反斜杠作为转义字符
问题来自于由于某些行末尾的反冲突引起的新行字符的意外转义。
只需通过r
为字符串添加前缀来声明原始字符串,它就可以解决问题。
gv_sixTries = r'''
___________.._______
| .__________))______|
| | / / ||
| |/ / ||
| | / ||.-''.
| |/ |/ _ \
| | || `/,|
| | (\\`_.'
| | .-`--'.
| | /Y . . Y\
| | // | | \\
| | // | . | \\
| | ') | | (`
| | ||'||
| | || ||
| | || ||
| | || ||
| | / | | \
| | `-' `-'
| |
| |
: :
. .
'''
该错误是由字符串中的反斜杠字符引起的,该字符用于打印转义序列字符(\ n,\ t,\,等)。使用原始字符串在屏幕上打印反斜杠字符,如:
gv_Tries = r"""
___________.._______
| .__________))______|
| | / / ||
| |/ / ||
| | / ||.-''.
| |/ |/ _ \
| | || `/,|
| | (\\`_.'
| | .-`--'.
| | /Y . . Y\
| | // | | \\
| | // | . | \\
| | ') | | (`
| | ||'||
| | || ||
| | || ||
| | || ||
| | / | | \
| | `-' `-'
| |
| |
: :
. .
"""
问题是因为你的一些行以Python转义字符结尾:\
。
反斜杠(\)字符用于转义具有特殊含义的字符,例如换行符,反斜杠本身或引号字符。
当一行以反斜杠结尾时,它告诉Python该行在下一行继续。
if some_condition \
or some_other_condition:
要解决此问题,您要么“加倍”反斜杠以逃避转义字符:
gv_sixTries = '''
| | /Y . . Y\\
| | // | | \\\\
| | // | . | \\\\
'''
或者用r
标记你的字符串,将其标记为原始字符串。
字符串和字节文字都可以选择以字母
'r'
或'R'
为前缀;这样的字符串称为原始字符串,并将反斜杠视为文字字符。
gv_sixTries = r'''
| | /Y . . Y\
| | // | | \\
| | // | . | \\
'''