Unindent samsvarer ikke med noe annet innrykknivå

Unindent samsvarer ikke med noe annet innrykknivå
Python bruker innrykk, i motsetning til andre programmeringsspråk som bruker krøllete seler for å definere en kodeblokk. Derfor er det viktig å sikre et strengt og riktig innrykkformat i Python -programmet ditt.

Denne opplæringen vil diskutere "Unindent samsvarer med noen ytre innrykknivå" -feil i Python, hvorfor det kan oppstå, og hva du kan gjøre for å fikse den.

Hva er en innrykk, og hvordan bruker vi den i Python

Innrykk refererer til rommet som er lagt til i begynnelsen av en linje. Vi oppnår dette mest ved å legge til et hvittespace -karakter før en spesifikk kodeblokk.

I henhold til Python -formateringsregler, bør en innrykkblokk gjøres ved å bruke fire romtegn per innrykknivå.

Årsak til innrykk: Unindent samsvarer ikke med noe ytre innrykknivå.

Python anbefaler at du bruker fire romtegn per kodenivå.

Imidlertid, hvis du jobber med et kodeprosjekt som bruker faner, bør du fortsette å bruke faner gjennom hele programmet.

Å blande både faner og romtegn som innrykkstegn vil føre til at Python kaster Innrykk. Unindent samsvarer ikke med noe ytre innrykknivå feil.

Fix: Blanding av faner og romtegn.

Tenk på eksempelkoden vist nedenfor:

for jeg i rekkevidde (5): '
Skriv ut (i) # mellomrom
Skriv ut (i) # Tabs

I eksemplet over har vi to innrykk, det ene som bruker romkarakterer og den andre som bruker faner.

Hvis vi kjører koden over, bør vi få en feil som vist:

Innrykk: uventet innrykk

For å løse dette problemet, bruk redigeringsformateringsfunksjonene dine for å søke etter alle tabs -tegn og erstatte dem med mellomrom.

I VIM kan du legge inn kommandomodus og kjøre:

gg = g

I Visual Studio Code, start kommandopaletten ved å trykke på tastene Ctrl + Shift + P.

Deretter kan du søke etter konvertering av innrykk til (og velg faner eller mellomrom) avhengig av prosjektformat.

Åpne søket og erstatt panelet i andre tekstredaktører som Sublime eller Notisblokk++.

Søk etter \ T -tegn og erstatt dem med fire romtegn.

Fix 2: Mismatch Indentation Block

En annen årsak til innrykksfeilen i Python er å plassere en uoverensstemmende innrykk.

For eksempel:

x = 100
y = 10
Hvis x> y:
trykk (x)
ellers:
trykk (y)

I dette tilfellet samsvarer ikke uttalelsen. Derfor returnerer koden over en innrykksfeil.

Du kan fikse det ved å justere blokkene i samsvarende nivåer.

Lukking

I Python samsvarer ikke "IndentationError: Unindent.