else: :/

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
smoovn
User
Beiträge: 8
Registriert: Mittwoch 21. November 2007, 09:05

Montag 3. Dezember 2007, 16:21

Hallo,

ich weiß einfach nicht weiter was mache ich falsch bei

Code: Alles auswählen

#!/usr/bin/python
import sys

def printMax(a, b):
    if a>b:
	    print a, 'ist Maximalwert'
    else:
    	    print b, 'ist Maximalwert'

printMax(3, 4)
x = 5
y = 7
printMax(x, y)
falsch?

Es wird der fehler:
IndentationError: unindent does not match any outer indentation level
ausgegeben.
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Montag 3. Dezember 2007, 16:25

Du hast Zeile 8 zu weit eingerückt, dass sagt er dir und das sieht man doch auch ziemlich gut. Achtung: Leerzeichen und Tabs nie mischen. Am besten nur 4 Spaces zum Einrücken verwenden (Softtabs).
My god, it's full of CARs! | Leonidasvoice vs Modvoice
smoovn
User
Beiträge: 8
Registriert: Mittwoch 21. November 2007, 09:05

Montag 3. Dezember 2007, 16:30

Ich habe mit dem Notepad++ mit 4 leerzeichen gearbeitet... ich bin schon verzweifelt :/

Aber danke.
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Montag 3. Dezember 2007, 17:06

Naja, guck dir mal den Code an den du gepastet hast. Der ist doch eindeutig und erkannbar falsch eingerückt, oder?

Jetzt guck dir deinen Code an. Ist der auch so? Nein? Dann lösche die ganze Einrückung vor der Zeile und mache sie mit Leerzeichen neu.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
Hyperion
Moderator
Beiträge: 7472
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Montag 3. Dezember 2007, 18:05

Ich hätte da mal eine Grundsätzliche Frage: Wieso Spaces? Ich persönlich progge Python immer mit Tabs und habe damit noch nie negative Erfahrungen gemacht! Arbeite ich mit Spaces, muss ich ja selber "mitzählen" wie weit ich schon eingerückt habe. Desweiteren wird das bei tieferen Verschachtelungen doch zum Krampf, 32 mal auf Space zu drücken.

Ok, mit einem guten Editor kann ich das teilweise entschärfen, aber eine wirklich überzeugende Lösung habe ich da noch nicht gefunden.

Aber ich bin ja lernfähig und würde mich durchaus über die Vorteile von Spaces belehren lassen :)
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Montag 3. Dezember 2007, 18:08

Wieviele Spaces ist ein Tab? Das kann auf jeder Maschine, mit jedem Account, ja sogar zwischen Versionen eines Editors anders eingestellt sein. So lange Du *niemals* für andere / mit anderen codest und *immer* denselben Editor mit denselben Einstellungen verwendest: Kein Ding.
Ein gescheiter Editor entschärft das Problem nicht nur, sondern ist die einfachste Lösung.

Gruß,
Christian
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Montag 3. Dezember 2007, 19:02

Hyperion hat geschrieben:Ich hätte da mal eine Grundsätzliche Frage: Wieso Spaces? Ich persönlich progge Python immer mit Tabs und habe damit noch nie negative Erfahrungen gemacht! Arbeite ich mit Spaces, muss ich ja selber "mitzählen" wie weit ich schon eingerückt habe. Desweiteren wird das bei tieferen Verschachtelungen doch zum Krampf, 32 mal auf Space zu drücken.
Also ich zähle da nie mit, ich drücke Tab. Mein Editor ist kümmert sich darum, dass da automatisch vier Spaces reinkommen, und er löscht auch vier Spaces, wenn ich auf Backspace drücke.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
Hyperion
Moderator
Beiträge: 7472
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Montag 3. Dezember 2007, 19:20

Naja, sicherlich kann ein Tab mal 4 Zeichen sein, oder auch 8 oder sonst eine Einstellung. Aber das ust doch prinzipiell egal! Es ist eben ein Zeichen für den Abstand. Und wer sich an PEP8 hält, stellt den eben auf 4 und gut ist (mache ich eh immer, egal welche Sprache).

Hm ... klar beim einrücken ist das auch kein Problem, aber wie komme ich wieder 'ne Ebene zurück?
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Montag 3. Dezember 2007, 19:24

Hyperion hat geschrieben:Naja, sicherlich kann ein Tab mal 4 Zeichen sein, oder auch 8 oder sonst eine Einstellung. Aber das ust doch prinzipiell egal! Es ist eben ein Zeichen für den Abstand. Und wer sich an PEP8 hält, stellt den eben auf 4 und gut ist (mache ich eh immer, egal welche Sprache).
Ja, wie CM bereits schrieb - solange du das durchhälst ist das kein Problem, aber wenn du [Space][Space][Tab] eintippst - wie groß ist dann die Einrückung? 4 Spaces? 6 Spaces? 10 Spaces? Hängt ab wie viel Spaces ein Tab ist. Also in dem Fall ist es nicht egal.
Hyperion hat geschrieben:Hm ... klar beim einrücken ist das auch kein Problem, aber wie komme ich wieder 'ne Ebene zurück?
Backspace. Entfernt bei einem vernünftig konfigurierten Editor auch vier Spaces auf einmal, wenn sie als Einrückung genutzt werden. Mein Editor rückt teilweise auch von selbst aus, etwa nach einem return.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

Montag 3. Dezember 2007, 21:50

Leonidas hat geschrieben: Ja, wie CM bereits schrieb - solange du das durchhälst ist das kein Problem, aber wenn du [Space][Space][Tab] eintippst - wie groß ist dann die Einrückung? 4 Spaces? 6 Spaces? 10 Spaces? Hängt ab wie viel Spaces ein Tab ist.
Und davon, ob ein Tab-Zeichen immer "X Spaces" entspricht oder "Spaces bis zum nächsten Vielfachen von X".
Dann lieber noch Vim 7 als Windows 7.

http://pythonic.pocoo.org/
Antworten