diff --git a/src/01_grundlagen.ipynb b/src/01_grundlagen.ipynb index f8f2d11..e21667e 100644 --- a/src/01_grundlagen.ipynb +++ b/src/01_grundlagen.ipynb @@ -445,6 +445,153 @@ "print(3 > 5)\n", "print(3 >= 5)" ] + }, + { + "cell_type": "markdown", + "id": "5e40c032-b2a7-444e-980f-447f776fe736", + "metadata": { + "editable": false, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "source": [ + "Jetzt wo wir wissen wie Bedingungen funktionieren können wir diese nutzen um den Ablauf unsers Programms dynamisch zu gestalten.\n", + "Mithilfe der `if`-Anweisung ist es möglich bestimmte Anweisungen nur auszuführen, wenn eine gegebene Bedingung zutrifft." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a067d87d-4d91-4c2f-9ad8-92c20a10c8e2", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "if 3 > 1:\n", + " print(\"Drei ist größer als Eins\")" + ] + }, + { + "cell_type": "markdown", + "id": "357e93af-764b-4440-99c2-3ee304ab9a34", + "metadata": { + "editable": false, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "source": [ + "Die `if`-Anweisung aus den Schlüsselwort `if`,\n", + "dann einem Ausdruck der zu einem Wahrheitswert auswertet (in unserem Beispiel einem Vergleichsoperator)\n", + "gefolgt von einem Doppelpunkt.\n", + "Alles was in den darauffolgenden Zeilen 4 Leerzeichen weit eingerückt ist (ab der Spalte in welcher das *i* der `if`-Anweisung beginnt)\n", + "wird nur dann ausgeführt, wenn die Bedingung der `if`-Anweisung erfüllt ist." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a11ab613-2126-4589-8cca-d833e4bb0eb7", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "x = 3\n", + "if x > 1:\n", + " print(\"Ich werde nur ausgeführt, wenn die Bedingung der if-Anweisung wahr ist\")\n", + " print(\"ich auch\")\n", + "print(\"Ich werde immer ausgeführt, da ich nicht mehr eingerückt bin, wie meine Vorgänger\")" + ] + }, + { + "cell_type": "markdown", + "id": "5a3cf1ff-addd-4567-9803-1978a8dea761", + "metadata": { + "editable": false, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "source": [ + "In diesem Fall führen wir die zwei eingerückten `print` Anweisungen nur aus, wenn die Variable `x` einen Wert größer als 1 hat.\n", + "Ansonsten Überspringen wir diese zwei Anweisungen einfach.\n", + "\n", + "Ab und zu möchte man jedoch eine bestimmte Anweisungsabfolge nur ausführen, wenn eine Bedingung zutrifft und eine andere bestimmte Anweisungsabfolge nur ausführen, wenn diese Bedingung nicht zutrifft.\n", + "Hierfür gibt es das `else` Schlüsselwort. Alles eingerückte nach dem `else` Schlüsselwort wird nur ausgeführ, wenn die Bedingung der `if`-Anweisung *nicht* zutrifft." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d2a5f5a5-fba2-4021-bdb2-24570f390a65", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "x = 1\n", + "if x > 3:\n", + " print(\"x ist größer als 3\")\n", + "else:\n", + " print(\"x ist nicht größer als 3\")\n", + "print(\"Ich werde ebenfalls immer ausgeführt, da ich auch wieder nicht eingerückt bin.\")" + ] + }, + { + "cell_type": "markdown", + "id": "125fbe9a-f692-4d1a-bcc2-9fe5e9e5a5e9", + "metadata": { + "editable": false, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "source": [ + "Manchmal möchte man auch mehrere Bedingungen nacheinander abfrage. Hierzu bietet Python das `elif` Schlüsselwort an (elif leitet sich von \"else if\").\n", + "Nach `elif` folgt wie auch schon bei `if` eine Bedingung, welche geprüft wird.\n", + "Ist diese Bedinung war, wird alles eingerückte nach `elif` ausgeführt. Ansonste wird weiter zu `else` gesprungen." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "08dc2b1c-79d6-4443-89f5-a9532fdf6d33", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "x = 1\n", + "if x < 5:\n", + " print(\"x ist kleiner als 5\")\n", + "elif x == 5:\n", + " print(\"x ist genau 5\")\n", + "else:\n", + " print(\"x ist größer als 5\")" + ] } ], "metadata": {