2016-08-01 22 views
-4

Also ja ich weiß, dass es eine Antwort darauf gibt, wie man das beheben kann, aber kann mir jemand erklären, was zur Hölle es bedeutet? Weil ich nicht weiß woher es kommt und ich auch weiß nicht, was eingerückt bedeutet in der Programmierung (wie Sie verstehen können, lieber Leser Englisch ist nicht meine Muttersprache)."Erwartete ein eingerückter Block" Fehler Erklärung

PS fand ich, dass Fehler von einer for-Schleife I auszuführen versuchen, und der Code war ähnlich wie diese:

img = img.resize((basewidth,hsize), PIL.Image.ANTIALIAS) 
j='.jpg' 
s='somepic' 
p=img.save(s+'1'+j) 

    for i in range(2, 659): 
    if i==21: 
    i = i + 1 
    elif i==36: 
    i=i+1 
    elif i==45: 
    i = i + 1 
    elif i==51: 
    i = i + 1 
    elif i==133: 
    i = i + 1 
    elif i==163: 
    i = i + 1 
    elif i==263: 
    i = i + 1 
    elif i==267: 
    i = i + 1 
    elif i==272: 
    i = i + 1 
    elif i==299: 
    i = i + 1 
    elif i==300: 
    i = i + 1 
    elif i==312: 
    i = i + 1 
    elif i==313: 
    i = i + 1 
    elif i==314: 
    i = i + 1 
    elif i==320: 
    i = i + 1 
    elif i==323: 
    i = i + 1 
    elif i==362: 
    i = i + 1 
    elif i==390: 
    i = i + 1 
    elif i==432: 
    i = i + 1 
    elif i==445: 
    i = i + 1 
    elif i==455: 
    i = i + 1 
    elif i==459: 
    i = i + 1 
    elif i==460: 
    i = i + 1 
    elif i==461: 
    i = i + 1 
    elif i==477: 
    i = i + 1 
    elif i==487: 
    i = i + 1 
    elif i==493: 
    i = i + 1 
    elif i==496: 
    i = i + 1 
    elif i==500: 
    i = i + 1 
    elif i==510: 
    i = i + 1 
    elif i==519: 
    i = i + 1 
    elif i==522: 
    i = i + 1 
    elif i==545: 
    i = i + 1 
    elif i==547: 
    i = i + 1 
    elif i==562: 
    i = i + 1 
    elif i==597: 
    i = i + 1 
    elif i==599: 
    i = i + 1 
    elif i==615: 
    i = i + 1 
    elif i==638: 
    i = i + 1 
    elif i==654: 
    i=i+1 
    else: 
    p= img + "i".save(s+i+j) 
    i=i+1 

Das bedeutet eine for-Schleife, eine if-Anweisung, ein paar elifs (oder ORs innerhalb der ersten if-Anweisung) und schließe dann meine if-Anweisung mit einem Speichern und einem Schritt vorwärts.

EDITED: Also der Code oben ist was ich geschrieben habe und davor eine Reihe von Bildeingaben. Aber obwohl ich es schaffe, den Code mit dem, was Sie am Ende gesagt haben, zu beheben, habe ich einen anderen Fehler, der ['str' sagt Objekt hat kein Attribut 'Speichern', aber das ist ein Problem für eine andere Zeit.

+0

'i = 2' ist unnötig –

+3

' if [i = 21]: 'ist nicht gültig Python. – ArtOfWarfare

+0

weder ist 'elif i = 36: '. – bgporter

Antwort

-1

Ein Einzug in Python ist 4 Leerzeichen. Ich hätte das kommentiert, aber ich habe nicht genug Ansehen. Hier ein Link: Python: using 4 spaces for indention. Why?

+0

Nein, der Einzug kann eine beliebige Anzahl von Leerzeichen oder Tabs sein. 4 ist nur bequem oder konventionell und wird vom Style Guide PEP-8 https://www.python.org/dev/peps/pep-0008/ empfohlen. – user1016274

0

In Python-Syntax, wenn Anweisungen, Schleifen und Funktionen von eingerückten Zeilen gefolgt werden müssen. Es ist nur Python-Syntax. Sie müssen 4 Leerzeichen setzen oder einen Tabulator vor jeder Zeile verwenden, um sie einzurücken. In vielen anderen Skriptsprachen werden {} verwendet, um die Codeblöcke zu umschließen. Ohne korrektes Einrücken weiß Python nicht, wann ein Codeblock endet.

+0

"Sie müssen 4 Leerzeichen setzen ..." ist falsch. Gemäß dem [** Style Guide for Python Code **] (https://www.python.org/dev/peps/pep-0008/) sollten Sie für jede Einrückungsstufe 4 Leerzeichen verwenden. – Matthias