Seite 1 von 1

if- Anweisungen

Verfasst: Dienstag 3. Juli 2007, 19:56
von acky
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

Verfasst: Dienstag 3. Juli 2007, 20:16
von BlackJack
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

Verfasst: Dienstag 3. Juli 2007, 20:22
von lord.hong
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

Verfasst: Dienstag 3. Juli 2007, 21:31
von acky
Boah danke ihr habt mir echt geholfen :D :D :D