I am having problems with this Python program I am creating to do maths, working out and so solutions but I’m getting the syntaxerror: “unexpected character after line continuation character in python”
this is my code
print("Length between sides: "+str((length*length)*2.6)+" 1.5 = "+str(((length*length)*2.6)1.5)+" Units")
My problem is with 1.5 I have tried 1.5 but it doesn’t work
Using python 2.7.2
6 Answers
The division operator is /
, not
The backslash is the line continuation character the error message is talking about, and after it, only newline characters/whitespace are allowed (before the next non-whitespace continues the “interrupted” line.
print "This is a very long string that doesn't fit" +
"on a single line"
Outside of a string, a backslash can only appear in this way. For division, you want a slash: /
.
If you want to write a verbatim backslash in a string, escape it by doubling it: "\"
In your code, you’re using it twice:
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")
The division operator is /
rather than .
Also, the backslash has a special meaning inside a Python string. Either escape it with another backslash:
"\ 1.5 = "`
or use a raw string
r" 1.5 = "
You must press enter after continuation character
Note: Space after continuation character leads to error
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"])
Well, what do you try to do? If you want to use division, use “/” not “”. If it is something else, explain it in a bit more detail, please.
As the others already mentioned: the division operator is / rather than **. If you wanna print the ** character within a string you have to escape it:
print("foo \")
# will print: foo
I think to print the string you wanted I think you gonna need this code:
print("Length between sides: " + str((length*length)*2.6) + " \ 1.5 = " + str(((length*length)*2.6)/1.5) + " Units")
And this one is a more readable version of the above (using the format method):
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))