und else entspricht "ansonsten"
aber ich versteh elif nicht ganz :/
was ist der unterschied zwischen if und elif? is das nicht dasselbe?

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
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
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:
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
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'.