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 вместо одинарных кавычек.

Другие вопросы по тегам