Python: Wat vertelt deze SyntaxError mij?

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • Witte Haai
  • Registratie: September 2011
  • Laatst online: 15-09-2022
[OPGELOST] Hallo mensen, Ik ben beginner met een Scratch - Python boek. Ik typte onderstaand script uit m'n boek over. M'n inziens exact het zelfde. Maar toch krijg ik steeds dezelfde SyntaxError.

Wat gaat hier fout?

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
table = 7
for i in range(1, 13):
    print('What\'s', i, 'x', table, '?')
    guess = input()
    if guess == 'stop':
        break
    if guess == 'skip':
        print('Skipping')
        continue
    ans = i * table
    if int(guess) == ans:
        print('Correct!')
    else:
        print('No, it\'s', ans')
print('Finished')


Shell:
code:
1
2
3
4
5
6
7
8
Python 3.6.1
>>> %Run 'blz 127 ontsnappingsloops.py'
  File "Z:\Medewerkers\Marco P\blz 127 ontsnappingsloops.py", line 14
    print('No, it\'s', ans')
                           ^
SyntaxError: EOL while scanning string literal

>>>


Python 3.6.1, Thonny (Python IDE for beginners)

Beste antwoord (via Witte Haai op 19-10-2017 14:07)


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Er staat daar toch een pijltje waar het mis gaat? Tel zelf je quotes eens? Syntaxfouten zijn altijd een kwestie van te veel of te weinig quotes, puntkomma's, komma's, haakjes, enz.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Alle reacties


Acties:
  • 0 Henk 'm!

  • MAX3400
  • Registratie: Mei 2003
  • Laatst online: 27-09 22:07

MAX3400

XBL: OctagonQontrol

code:
1
print('No, it\'s', 'ans')

Notepad++ mist een ' maar het kan zijn dat een andere compiler/syntax-checker mij weer corrigeert?

/edit: ook in een boek kan een spelfout zitten ;)

[ Voor 16% gewijzigd door MAX3400 op 19-10-2017 13:47 ]

Mijn advertenties!!! | Mijn antwoorden zijn vaak niet snowflake-proof


Acties:
  • +3 Henk 'm!

  • Diecke
  • Registratie: December 2010
  • Laatst online: 08-10 13:25
dat die laatste ' achter ans weg moet

Acties:
  • Beste antwoord
  • +2 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Er staat daar toch een pijltje waar het mis gaat? Tel zelf je quotes eens? Syntaxfouten zijn altijd een kwestie van te veel of te weinig quotes, puntkomma's, komma's, haakjes, enz.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Witte Haai
  • Registratie: September 2011
  • Laatst online: 15-09-2022
NMe schreef op donderdag 19 oktober 2017 @ 13:58:
Er staat daar toch een pijltje waar het mis gaat? Tel zelf je quotes eens? Syntaxfouten zijn altijd een kwestie van te veel of te weinig quotes, puntkomma's, komma's, haakjes, enz.
Inderdaad... Moet er even mee thuis raken; Het zijn van die dingen, waar je zo makkelijk overheen kijkt.

Acties:
  • +1 Henk 'm!

  • Loolee
  • Registratie: December 2015
  • Laatst online: 08-10 17:01
Tel inderdaad eens het aantal quotes in regel 14. Je komt op een even aantal quotes uit, maar is dat correct?

[ Voor 19% gewijzigd door Loolee op 19-10-2017 14:05 ]


Acties:
  • +1 Henk 'm!

  • Coocoocachoo
  • Registratie: Augustus 2007
  • Laatst online: 12:04
Vaak is het achteraf ook duidelijker wat een error betekend dan als je er tegenaan loopt, maar het staat er eigenlijk letterlijk: Einde van de regel gevonden terwijl ik bezig was met een String aan het inlezen.
Oftewel je hebt op die regel een String geopend die je niet afsluit voor het einde van de regel.

Wat meer info: https://discover.cs.ucsb.edu/commonerrors/error/1010.xml

En wat MAX3000 ook zegt, dit soort syntactische foutjes kunnen vaak met een goede editor al duidelijk worden. Ik zou dan ook even kijken naar een goede editor/IDE. Ik vond zelf PyCharm wel fijn werken.
Pagina: 1