syntaxerror: «неожиданный символ после символа продолжения строки в python» математика

#python #math #syntax #continuation

#python #математика #синтаксис #продолжение

Вопрос:

У меня возникли проблемы с этой программой на Python, которую я создаю для выполнения математики, разработки и т. Д. Решений, Но я получаю syntaxerror: «неожиданный символ после символа продолжения строки в 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

Ответ №1:

Оператор деления / , не

Комментарии:

1. Я переключился на использование * 0.6666666667, затем я увидел это… Я мог бы просто придерживаться того, что я написал сейчас.

Ответ №2:

Обратная косая черта — это символ продолжения строки, о котором говорится в сообщении об ошибке, и после него разрешены только символы новой строки / пробелы (до того, как следующий пробел продолжит «прерванную» строку.

 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")
  

Ответ №3:

Вы должны нажать 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"])
  

Комментарии:

1. Вау — этот маленький кусочек информации — потратил много времени, пытаясь выяснить, почему код не работает; не знал о «нажатии enter сразу после символа продолжения строки» огромное спасибо!

Ответ №4:

Оператор деления / вместо .

Кроме того, обратная косая черта имеет особое значение внутри строки Python. Либо экранируйте его с помощью другой обратной косой черты:

 "\ 1.5 = "`
  

или используйте необработанную строку

 r"  1.5 = "
  

Ответ №5:

Ну, что вы пытаетесь сделать? Если вы хотите использовать разделение, используйте «/», а не «». Если это что-то другое, объясните это немного подробнее, пожалуйста.

Ответ №6:

Как уже упоминалось ранее: оператор деления — это /, а не ** . Если вы хотите напечатать символ ** в строке, вам нужно его экранировать:

 print("foo \")
# will print: foo 
  

Я думаю, что для печати нужной вам строки, я думаю, вам понадобится этот код:

 print("Length between sides: "   str((length*length)*2.6)   " \ 1.5 = "   str(((length*length)*2.6)/1.5)   " Units")
  

И это более читаемая версия вышеупомянутого (с использованием метода format):

 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))
  

Ответ №7:

Это не связано с вопросом; просто для будущих целей. В моем случае я получил это сообщение об ошибке при использовании регулярного выражения. Вот мой код и исправление

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