if 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.
lukasmarti
User
Beiträge: 31
Registriert: Samstag 8. April 2006, 17:10
Wohnort: lachen (schweiz)

Samstag 8. April 2006, 22:22

bei mir funktioniert das if und else nie kann mir jemand sagen was ich falsch mache.

>>> if x>5:
print "ok"
else:

IndentationError: unindent does not match any outer indentation level (<pyshell#2>, line 3)
>>>

DANKE SCHON MAL[/code]
Korsakov
User
Beiträge: 15
Registriert: Samstag 8. April 2006, 20:03

Samstag 8. April 2006, 22:35

hab zwar nicht viel ahnung von python (noch), aber ich denke der fehler ist der: nach dem "else:" einfach ne code anweisung! z.b:

Code: Alles auswählen

if bla < blub:
  print 'blub blub'
else:
  break
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Samstag 8. April 2006, 22:39

Hast du mal überlegt, was du da in den Händen hältst? Das ist Python, eine der Sprachen in deren Charakterisierung fast immer steht dass sie auf Einrückung bestehen (siehe Strukturierung durch Einrücken in der Wikipedia).

Code: Alles auswählen

In [11]: if x > 5:
   ....:     print 'ok'
   ....: else:
   ....:     print 'nicht ok'
Sorry, wenn ich böse klinge, aber man sollte sich doch zumindest ein wenig mit der Sprache beschäftigen, das spart viel Fragerei.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
lukasmarti
User
Beiträge: 31
Registriert: Samstag 8. April 2006, 17:10
Wohnort: lachen (schweiz)

Sonntag 9. April 2006, 08:01

danke für die antworten aber rükt python die zeilen selber ein???????
es funktioniert immer noch nicht
Korsakov
User
Beiträge: 15
Registriert: Samstag 8. April 2006, 20:03

Sonntag 9. April 2006, 08:18

ne, die einrückung musst du selber machen, sobald die nicht stimmt: error

lies dir mal lieber einn gutes tutorial durch, empfehlen kann ich dir "A Byte of Python" (deutsche übersetzung): http://abop-german.berlios.de/read/index.html
lukasmarti
User
Beiträge: 31
Registriert: Samstag 8. April 2006, 17:10
Wohnort: lachen (schweiz)

Sonntag 9. April 2006, 08:18

und was bedeutet in[11]
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Sonntag 9. April 2006, 08:19

lukasmarti hat geschrieben:und was bedeutet in[11]
Das ist der Prompt von IPython, einer interaktiven Python Konsole.
TUFKAB – the user formerly known as blackbird
henning
User
Beiträge: 274
Registriert: Dienstag 26. Juli 2005, 18:37

Sonntag 9. April 2006, 08:38

An diesem Beispiel sieht man auch gut, das man die Fehlermeldungen des Python-Interpreters ruhig mal näher anschauen kann, ab und zu gibt einem das nämlich tatsächlich die Richtung an, in der der Fehler zu suchen ist ;-)
helmut
User
Beiträge: 57
Registriert: Mittwoch 2. November 2005, 07:45
Wohnort: Dormagen

Sonntag 9. April 2006, 08:41

Hallo,

ehe es zu weiteren Missverstaendnissen kommt, kommt hier der "nackte" Code:

Code: Alles auswählen

if x>5:
    print "OK"
else:
    print "nicht OK"
Gruss, Helmut
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Sonntag 9. April 2006, 11:57

lukasmarti hat geschrieben:rükt python die zeilen selber ein???????
Nein, woher soll Python denn wissen, wann er einrücken muss und wann nicht? IPython kann neben einer Menge anderer Sachen auch Halbautomatisch einrücken.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
Mr_Snede
User
Beiträge: 387
Registriert: Sonntag 8. Februar 2004, 16:02
Wohnort: D-Dorf, Bo

Sonntag 9. April 2006, 14:27

Vielleicht hilft ein kleines Video zur Benutzung der Pythonshell weiter:
--> http://showmedo.com/videoPage?name=Test ... nMSWindows

Leonidas benutze in seinem vorigem Post mit der "[11]"(wie er schon erwähnte) eine erweiterte Pythonshell Namens Ipython.
auch dazu gibt es Videos:
--> http://showmedo.com/videoListPage?listK ... hon_JerolH

Eine Übersicht über weitere (Python)Videos gibt es hier:
--> http://showmedo.com/videoListPage?listK ... PythonList

@Leonidas
Nein, woher soll Python denn wissen
Vielleicht am Doppelpunkt am Ende einer Zeile wie jeder Editor mit Pythonsupport auch?
Die IDLE Shell rückt automatisch ein.

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

Sonntag 9. April 2006, 14:33

Mr_Snede hat geschrieben:Vielleicht am Doppelpunkt am Ende einer Zeile wie jeder Editor mit Pythonsupport auch?
Die IDLE Shell rückt automatisch ein.
Ein-Rücken schon, aber Aus-rücken geht nicht.

Ich finde ja SciTEs verhalten bei sowas lustig:

Code: Alles auswählen

blah = blahbla[1:]
dann versucht er die nächste Zeile einzurücken.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
Mr_Snede
User
Beiträge: 387
Registriert: Sonntag 8. Februar 2004, 16:02
Wohnort: D-Dorf, Bo

Sonntag 9. April 2006, 15:03

jupp über dieses Verhalten von Scite bin ich auch schon gestolpert.
Aber bisher überwiegen die Fälle in denen Scite richtig einrückt somit stört mich das nicht.

Hmm wäre das nicht ein super Patent?
Automatisches Deindent, wenn der Verfasser es will?
Das Schlimme ist, es gibt bestimmt jemand, der das schon angemeldet hat. :shock:

cu Sebastian
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

Sonntag 9. April 2006, 15:31

Mr_Snede hat geschrieben: Hmm wäre das nicht ein super Patent?
Automatisches Deindent, wenn der Verfasser es will?
Das Schlimme ist, es gibt bestimmt jemand, der das schon angemeldet hat.
Python wird bald den Operator "is not" aus der Sprache schmeißen müssen, der ist nämlich von Microsoft patentiert.
BlackJack

Montag 10. April 2006, 07:57

birkenfeld hat geschrieben:Python wird bald den Operator "is not" aus der Sprache schmeißen müssen, der ist nämlich von Microsoft patentiert.
Nur wenn der Operator ``IsNot`` geschrieben würde und Python eine von BASIC abgeleitete Sprache wäre.

Ansonsten würde das Patent auch den ``!=`` Operator in Java betreffen, der genau das gleiche tut.
Antworten