Inspringfout in Python

Ik kan niet compileren vanwege dit deel in mijn code:

if command == 'HOWMANY':
    opcodegroupr = "A0"
    opcoder = "85"
elif command == 'IDENTIFY':
    opcodegroupr = "A0"
    opcoder = "81"

Ik heb deze fout:

Sorry: IndentationError: (‘unindent komt niet overeen met een buitenste inspringingsniveau’, (‘wsn.py’, 1016, 30, “\t\telif command == ‘IDENTIFY’:\n”))

Maar ik zie geen inspringfout. Wat kan het probleem zijn?


Antwoord 1, autoriteit 100%

Verander bij twijfel je editor om tabs en spaties zichtbaar te maken. Het is ook een heel goed idee om de editor alle tabbladen te laten omzetten in 4 spaties.


Antwoord 2, autoriteit 98%

Je haalt tabs en spaties door elkaar.

Zoek de exacte locatie met:

python -tt yourscript.py

en vervang alletabbladen door spaties. U wilt uw teksteditor zo configureren dat alleen spaties voor tabbladen worden ingevoegd.


Antwoord 3, autoriteit 50%

Voor sublieme teksteditor

Inspringfout treedt meestal op wanneer de code een combinatie van zowel tabs als spaties voor inspringing bevat. Ik heb een heel mooie oplossing om het te corrigeren, open gewoon je code in een sublieme teksteditor en zoek 'Tab Size'in de rechterbenedenhoek van Sublime Text Editor en klik erop. Selecteer nu een van beide

'Convert Indentation to Spaces'

OF

'Convert Indentation to Tabs'

Uw code werkt in beide gevallen.

Bovendien, als u sublieme tekst wilt doen om het automatisch voor u te doen voor elke code, kunt u de voorkeursinstellingen bijwerken zoals hieronder: –

Sublime Tekstmenu & GT; Voorkeuren en GT; Instellingen – Syntaxis Specifiek:

Python.Sublime-instellingen

{
    "tab_size": 4,
    "translate_tabs_to_spaces": true
}

Antwoord 4, Autoriteit 33%

In Kladblok ++

Bekijken — & GT; Symbolen weergeven — & GT; White Spaces and Tabs weergeven (selecteren)

Vervang alle tabbladen met spaties.


Antwoord 5, Autoriteit 17%

Het is ook gebeurd, maar ik kreeg het probleem opgelost. Ik gebruikte een inkeping van 5 spaties, maar toen ik op het tabblad drukte, zette het gebruikte een vier-ruimteinsprong. Dus ik denk dat je gewoon één ding moet gebruiken; d.w.z. Tab-knop om streepje of spaties toe te voegen. En een ideale inkeping is een van de 4 ruimtes. Ik vond intellij erg handig voor dit soort dingen.


Antwoord 6, Autoriteit 8%

Heeft u misschien wat <tab>in plaats van spaties?

Probeer alle ruimtes te verwijderen vóór de code en lees ze met <space>tekens, alleen om er zeker van te zijn dat het geen <tab>.


Antwoord 7

Dit is ook met mij gebeurd, Python is ruimte gevoelig,
Dus na “: ” (colon)
Je hebt misschien een ruimte verlaten,
bijvoorbeeld:
[Ruimte wordt weergegeven door “. “]

`if command == 'HOWMANY':.
     opcodegroupr = "A0"
     opcoder = "85"
 elif command == 'IDENTIFY':.
     opcodegroupr = "A0"
     opcoder = "81"`

Dus probeer de onnodige spaties te verwijderen, als u het opent in IDE, wordt uw cursor weggeeft van “:” Iets zoals: – “if commando == ‘HOWMANY’: |

….terwijl het zou moeten zijn:- “if command == ‘HOWMANY’:|

Other episodes