also if entspricht ja "wenn"
und else entspricht "ansonsten"
aber ich versteh elif nicht ganz :/
was ist der unterschied zwischen if und elif? is das nicht dasselbe?
Unterschied: if, elif, else
andernsfalls wennBlackPython hat geschrieben:also if entspricht ja "wenn"
und else entspricht "ansonsten"
aber ich versteh elif nicht ganz :/
Wie du jetzt vielleicht schon erraten ist elif eine Kombination aus else und ifwas ist der unterschied zwischen if und elif? is das nicht dasselbe?
Code: Alles auswählen
if bedingung_1: pass
elif bedingung_2: pass
else: pass
Code: Alles auswählen
if bedingung_1: pass
else:
if bedingung_2: pass
else: pass
Und elif hat noch den Vorteil, dass die Abfrageschleife verlassen wird, sobald etwas zutrifft:
mutetella
Code: Alles auswählen
>>> a = 5
>>> def ifs():
... if a == 0: #wird abgefragt
... print 'a ist null'
... if a == 5: #wird abgefragt
... print 'a ist fuenf'
... if a == 3: #wird abgefragt
... print 'a ist drei'
...
>>> def elifs():
... if a == 0: #wird abgefragt
... print 'a ist null'
... elif a == 5: #wird abgefragt
... print 'a ist fuenf'
... elif a == 3: #wird nicht mehr abgefragt
... print 'a ist drei'
...
>>> ifs()
a ist null
>>> elifs()
a ist null
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit )
Diesen „Vorteil“ hat man generell bei verschachtelten if-else. elif ist einfach nur eine einfachere Schreibweise dafür.mutetella hat geschrieben:Und elif hat noch den Vorteil, dass die Abfrageschleife verlassen wird, sobald etwas zutrifft:
-
- User
- Beiträge: 16
- Registriert: Samstag 15. Oktober 2011, 09:22
ok danke
ich glaub jetzt versteh ichs
ich glaub jetzt versteh ichs
@Daril:
Schon, nur hatte ich den Eindruck, dass BlackPython eine 'gerade' if-/else-Schleife meint. Und da macht es eben schon einen Unterschied. Mein Beispiel war nicht gut, darum hier nochmal, um zu zeigen, was ich meine:
Ich glaube eben nicht, dass sich die Frage auf 'elifs()' vs. 'elses()', die ja equivalent sind, bezog, sondern eher auf 'ifs()' vs. 'elifs'.
Und da ist es eben ein entscheidender Unterschied im Ablauf der Abfrage(n).
mutetella
Schon, nur hatte ich den Eindruck, dass BlackPython eine 'gerade' if-/else-Schleife meint. Und da macht es eben schon einen Unterschied. Mein Beispiel war nicht gut, darum hier nochmal, um zu zeigen, was ich meine:
Code: Alles auswählen
def ifs():
a = 1
if a == 0:
a += 1
if a == 1:
a += 1
if a == 2:
a += 1
return a
def elifs():
a = 1
if a == 0:
a += 1
elif a == 1:
a += 1
elif a == 2:
a += 1
return a
def elses():
a = 1
if a == 0:
a += 1
else:
if a == 1:
a += 1
else:
if a == 2:
a += 1
return a
Code: Alles auswählen
>>> ifs()
3
>>> elifs()
1
>>> elses()
1
Und da ist es eben ein entscheidender Unterschied im Ablauf der Abfrage(n).
mutetella
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit )
... voll erwischt ...
ABER: Was sind das nur für Leute, die solche Domains registrieren...
ABER: Was sind das nur für Leute, die solche Domains registrieren...
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit )
Ja da hast du recht, deswegen gab ich ein Beispiel.mutetella hat geschrieben:Ich glaube eben nicht, dass sich die Frage auf 'elifs()' vs. 'elses()', die ja equivalent sind, bezog, sondern eher auf 'ifs()' vs. 'elifs'.