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