#python #python-3.x #syntax-error
#python #python-3.x #синтаксическая ошибка
Вопрос:
Я пишу программу, которая генерирует случайную игральную карту и рисует ее в .stdout
терминале. Он продолжает выдавать мне SyntaxError: invalid syntax
, когда я трижды проверил свой код, и все правильно.
Ввод:
def drawCard():
#cs and cr are global variables I declared in another function, so please disregard those.
#also, Italic(), Bold(), etc are custom escape methods I made to format my text.
#The indexing on cr and cs is to print the first character in the string (they are strings).
cardlayout = f" ______n|{cr[0]}| |n|{Bold(Underline(cs[0]))}{End()}| |n| {Italic('0' cr)}{End()} _|n| |{Bold(cs[0])}{End()}|n|____{Underline('|' cr[0])}{End()}|"
if cr == '10':
cardlayout = f" ______n|{cr}| |n|{Bold(Underline(cs[0]))}{End()}| |n| {Italic(cr)}{End()} _|n| |{Bold(cs[0])}{End()}|n|{Underline(' |' cr)}{End()}|"
if cr == 'Ace' or cr == 'Jack' or cr == 'Queen' or cr == 'King':
cardlayout = f" ______n|{cr[0]}| |n|{Bold(Underline(cs[0]))}{End()}| |n| {Italic("a ")}{End()}_|n| |{Bold(cs[0])}{End()}|n|____{Underline('|J')}{End()}|"
print(cardlayout)
Вывод:
File "main.py", line 24
cardlayout = f" ______n|{cr[0]}| |n|{Bold(Underline(cs[0]))}{End()}| |n| {Italic("a ")}{End()}_|n| |{Bold(cs[0])}{End()}|n|____{Underline('|J')}{End()}|"
^
SyntaxError: invalid syntax
Как мой синтаксис недействителен здесь?
Комментарии:
1. Вся строка заключена в двойные кавычки, и, помещая другую строку в двойных кавычках внутри отформатированной части, вы случайно заканчиваете строку раньше (и
f"..."a
это синтаксическая ошибка). Если вы замените рассматриваемые двойные кавычки одинарными кавычками, все должно быть в порядке.2. @GreenCloakGuy Я хочу, чтобы строка внутри Italic() содержала одинарные кавычки, вот в чем проблема. Если я попытаюсь использовать тройные кавычки, я получу другую ошибку. Он также не будет принимать escape-символы.