feat: Add section about "if-Anweisung" to chapter "Verzweigungen"

This commit is contained in:
Laborratte5 2024-05-11 18:27:39 +02:00
parent f591c70c83
commit 7f19c3fd70
Signed by: Laborratte5
GPG key ID: 3A30072E35202C02

View file

@ -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": {