syntaxfout: onverwacht teken na vervolgteken voor regel in python wiskunde

Ik heb problemen met dit Python-programma dat ik aan het maken ben om wiskunde te doen, uit te werken en dus oplossingen, maar ik krijg de syntaxfout: “onverwacht teken na regelvervolgteken in python”

dit is mijn code

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

Mijn probleem is met \1.5Ik heb \1.5geprobeerd, maar het werkt niet

Python 2.7.2 gebruiken


Antwoord 1, autoriteit 100%

De delingsoperator is /, niet \


Antwoord 2, autoriteit 60%

De backslash \is het vervolgteken van de regel waar de foutmelding het over heeft, en daarna zijn alleen nieuwe regeltekens/witruimte toegestaan ​​(voordat de volgende niet-witruimte de “onderbroken” regel voortzet.

print "This is a very long string that doesn't fit" + \
      "on a single line"

Buiten een string kan alleen op deze manier een backslash verschijnen. Voor delen wil je een schuine streep: /.

Als je een letterlijke backslash in een tekenreeks wilt schrijven, ontsnap je eraan door deze te verdubbelen: "\\"

In je code gebruik je deze twee keer:

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

Antwoord 3, autoriteit 20%

Je moet op enter drukken na het vervolgteken

Opmerking: spatie na vervolgteken leidt tot fout

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

Antwoord 4, autoriteit 8%

De delingsoperator is /in plaats van \.

Bovendien heeft de backslash een speciale betekenis binnen een Python-string. Ontsnap eraan met een andere backslash:

"\\ 1.5 = "`

of gebruik een onbewerkte tekenreeks

r" \ 1.5 = "

Antwoord 5

Nou, wat probeer je te doen? Als u deling wilt gebruiken, gebruikt u “/” niet “\”.
Als het iets anders is, leg het dan wat gedetailleerder uit.


Antwoord 6

Zoals de anderen al zeiden: de delingsoperator is /in plaats van **.
Als je het **-teken binnen een tekenreeks wilt afdrukken, moet je er ontsnappen:

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

Ik denk dat je deze code nodig hebt om de string af te drukken die je wilde:

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

En deze is een beter leesbare versie van het bovenstaande (met behulp van de formaatmethode):

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

Other episodes