syntaxerror: математика "неожиданный символ после символа продолжения строки в python"
У меня проблемы с этой программой на Python, которую я создаю, чтобы выполнять математику, прорабатывать и т.д. решения, но я получаю синтаксическую ошибку: "неожиданный символ после символа продолжения строки в Python"
это мой код
print("Length between sides: "+str((length*length)*2.6)+" \ 1.5 = "+str(((length*length)*2.6)\1.5)+" Units")
Моя проблема с \1.5 Я пытался \1.5, но это не работает
Использование python 2.7.2
7 ответов
Обратная косая черта \
является символом продолжения строки, о котором говорится в сообщении об ошибке, и после него разрешены только символы новой строки / пробелы (до того, как следующий непробельный символ продолжит строку "прерванная").
print "This is a very long string that doesn't fit" + \
"on a single line"
За пределами строки обратный слеш может появляться только таким образом. Для деления вы хотите косую черту: /
,
Если вы хотите написать дословную обратную косую черту в строке, избегайте ее, удваивая ее: "\\"
В вашем коде вы используете его дважды:
print("Length between sides: " + str((length*length)*2.6) +
" \ 1.5 = " + # inside a string; treated as literal
str(((length*length)*2.6)\1.5)+ # outside a string, treated as line cont
# character, but no newline follows -> Fail
" Units")
Вы должны нажать Enter после продолжения символа
Примечание: пробел после символа продолжения приводит к ошибке
cost = {"apples": [3.5, 2.4, 2.3], "bananas": [1.2, 1.8]}
0.9 * average(cost["apples"]) + \ """enter here"""
0.1 * average(cost["bananas"])
Оператор деления /
скорее, чем \
,
Кроме того, обратная косая черта имеет особое значение внутри строки Python. Либо избежать его с другой обратной косой чертой:
"\\ 1.5 = "`
или используйте необработанную строку
r" \ 1.5 = "
Как уже упоминалось, оператор деления является / а не **. Если вы хотите напечатать символ ** внутри строки, вы должны его избежать:
print("foo \\")
# will print: foo \
Я думаю, чтобы напечатать строку, которую вы хотели, я думаю, вам понадобится этот код:
print("Length between sides: " + str((length*length)*2.6) + " \\ 1.5 = " + str(((length*length)*2.6)/1.5) + " Units")
И эта версия более читаема (используя метод форматирования):
message = "Length between sides: {0} \\ 1.5 = {1} Units"
val1 = (length * length) * 2.6
val2 = ((length * length) * 2.6) / 1.5
print(message.format(val1, val2))
Ну, что ты пытаешься сделать? Если вы хотите использовать разделение, используйте "/", а не "\". Если это что-то еще, объясните это более подробно, пожалуйста.
Это не относится к вопросу; только для будущих целей. В моем случае я получил это сообщение об ошибке при использовании регулярного выражения. Вот мой код и исправление
text = "Hey I'm Kelly, how're you and how's it going?"
import re
Когда я получил ошибку:
x=re.search(r'('\w+)|(\w+'\w+)', text)
Правильный код:
x=re.search(r"('\w+)|(\w+'\w+)", text)
Я должен использовать двойные кавычки после r вместо одинарных кавычек.