if- Anweisungen

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
acky
User
Beiträge: 11
Registriert: Dienstag 3. Juli 2007, 19:43

Dienstag 3. Juli 2007, 19:56

Hi Leute,

versuche in den letzten Tagen die ersten Schritten mit Python zu machen :D
Deshalb hab ich ne Frage zu nem Code

Code: Alles auswählen

>>> x = 0
>>> if x < 0:
...     x = 0
...     print "Negative changed to zero"
... elif x == 0:
...     print "zero"
... elif x == 1:
...     print "Single"
... else:
...     print "more"
... 
zero 
Ich versteh das IF nicht was sagt dieser Befehl aus ?
Nach meinen Englishkentnissen beudeutet es wenn.
Also wenn x kleiner als 0 .... ja was dann? ist dann x = 0 ? :shock:
Und warum gibt es aufeinmal 2 gleichzeichen? bei elif?

Thx acky
BlackJack

Dienstag 3. Juli 2007, 20:16

Die ``if``-Anweisung ist für Fallunterscheidungen. Genau wie Du vermutet hattest: Wenn `x` kleiner 0 ist, dann wird alles ausgeführt, was in den folgenden Zeilen eingerückt ist. Also `x` wird an 0 gebunden und es wird die ``print``-Anweisung ausgeführt.

Die doppelten Gleichheitszeichen sind der Vergleichsoperator, ein einfaches Gleichheitszeichen ist eine Zuweisung.

Code: Alles auswählen

In [36]: x = 0

In [37]: x == 0
Out[37]: True

In [38]: x == 42
Out[38]: False
lord.hong
User
Beiträge: 26
Registriert: Samstag 19. August 2006, 12:32

Dienstag 3. Juli 2007, 20:22

Hallo Acky,

nach jedem if oder elif kommt eine Bedingung. Die ist entweder wahr oder falsch. Im Falle, dass sie wahr ist, wird dann der Anweisungsblock abgearbeitet. Im Falle von Python der eingerückte Block.

In deinem Beispiel hast du x mit 0 initialisiert. Somit kann die erste if Anweisung falsch und die zweite wird geprüft. In diesem Fall wäre 0 gleich 0 und dann Programm gibt "zero" aus. Die anderen zwei Bedingung werden nicht mehr abgearbeitet.

In Python wie auch in anderen Programmiersprachen ist ein einfaches Gleichheitszeichen ein Zuweisungsoperator. Der linke Wert wird der rechten Variable zugewiesen. In deinem Fall wird der Wert 0 der Variabel x zugewiesen. Im späteren Verlauf kannst du auf den Wert wieder zugreifen oder ihn überschreiben.

Um allerdings Werte miteinander zu vergleichen wird ein doppelter Zuweisungsoperator benutzt. So ergibt eine Eingabe in IDLE

Code: Alles auswählen

2 == 1
False während

Code: Alles auswählen

1 == 1
True ergibt.

Mit

Code: Alles auswählen

x = 10
print x
könntest du dir übrigend den Wert von x wiedergeben lassen.

Gruß
Markus
acky
User
Beiträge: 11
Registriert: Dienstag 3. Juli 2007, 19:43

Dienstag 3. Juli 2007, 21:31

Boah danke ihr habt mir echt geholfen :D :D :D
Antworten