Как использовать тройные кавычки? - PullRequest
0 голосов
/ 06 марта 2019

по какой-то причине даже при использовании тройных кавычек текст печатается неправильно Это переменная, с которой у меня проблема ... У меня есть другие переменные с тройными кавычками, которые при печати печатаются правильно! проблема только с этими ASCII

Одна из проблемных переменных - это ASCII, остальные те же самые, только с меньшим количеством частей тела;)

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

переменная печатается так: изображение

код печати - просто нормальная печать (gv_NUMBERTries)

ОС: Windows 10

интерпретатор: Python IDLE 3.7.2

Ответы [ 4 ]

2 голосов
/ 06 марта 2019

Добавить r к вашей строке

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

Это говорит Python использовать строку как обычный литерал, не используя обратную косую черту в качестве escape-символов

0 голосов
/ 06 марта 2019

Проблема в том, что некоторые из ваших строк заканчиваются escape-символом Python: \.

Символ обратной косой черты (\) используется для экранирования символов, которые в противном случае имеют особое значение, напримерв качестве новой строки, самой обратной косой черты или символа кавычки.

Строковые и байтовые литералы

Когда строка заканчивается обратной косой чертой,он сообщает Python, что строка продолжается на следующей строке.

if some_condition \
    or some_other_condition:

Чтобы противостоять этому, вы либо хотите «удвоить» обратную косую черту, чтобы избежать экранирующих символов:

gv_sixTries = '''
| |        /Y . . Y\\
| |       // |   | \\\\
| |      //  | . |  \\\\
'''

Или пометьте свою строку с помощью r, чтобы пометить ее как необработанную строку .

Как строковые, так и байтовые литералы могут иметь префикс с буквой 'r' или 'R';такие строки называются необработанными строками и обрабатывают обратную косую черту как буквенные символы.

Строковые и байтовые литералы

gv_sixTries = r'''
| |        /Y . . Y\
| |       // |   | \\
| |      //  | . |  \\
'''
0 голосов
/ 06 марта 2019

Ошибка возникает из-за символа обратной косой черты в строке, которая используется для печати символов escape-последовательности (\ n, \ t, \ и т. Д.). Используйте необработанную строку для печати символа обратной косой черты на экране, например:

gv_Tries = r"""
___________.._______
| .__________))______|
| | / /      ||
| |/ /       ||
| | /        ||.-''.
| |/         |/  _  \
| |          ||  `/,|
| |          (\\`_.'
| |         .-`--'.
| |        /Y . . Y\
| |       // |   | \\
| |      //  | . |  \\
| |     ')   |   |   (`
| |          ||'||
| |          || ||
| |          || ||
| |          || ||
| |         / | | \
| |         `-' `-'
| |
| |
: :
. .
"""
0 голосов
/ 06 марта 2019

Проблема возникает из-за нежелательного экранирования символов новой строки из-за столкновения в конце некоторых строк.

Просто объявите необработанную строку, добавив префикс вашей строки к r, и это решит проблему.

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