|
| 1 | +{ |
| 2 | + "title": "Bedingungen: <code class=\"language-python\">if</code>, <code class=\"language-python\">elif</code>, <code class=\"language-python\">else</code> ", |
| 3 | + "description": "", |
| 4 | + "content": [ |
| 5 | + { |
| 6 | + "type": "paragraph", |
| 7 | + "text": "Bedingungen sind eines der wichtigsten Werkzeuge in jeder Programmiersprache, da sie es einem Programm ermöglichen, Entscheidungen zu treffen. Dank ihnen kann dein Code je nach Situation das eine oder andere ausführen. In Python steuern die Schlüsselwörter <code class=\"language-python\">if</code>, <code class=\"language-python\">elif</code> und <code class=\"language-python\">else</code> dieses Verhalten." |
| 8 | + }, |
| 9 | + { |
| 10 | + "type": "subtitle1", |
| 11 | + "text": "Was ist eine Bedingung?" |
| 12 | + }, |
| 13 | + { |
| 14 | + "type": "paragraph", |
| 15 | + "text": "Eine Bedingung wertet einen Ausdruck aus, der wahr oder falsch sein kann. Wenn er wahr ist, wird ein Codeblock ausgeführt; wenn er falsch ist, werden andere Optionen geprüft oder ein alternativer Block ausgeführt." |
| 16 | + }, |
| 17 | + { |
| 18 | + "type": "paragraph", |
| 19 | + "text": "Python verwendet Einrückungen (Tabs oder Leerzeichen), um festzulegen, welche Anweisungen zum Bedingungsblock gehören." |
| 20 | + }, |
| 21 | + { |
| 22 | + "type": "subtitle1", |
| 23 | + "text": "Grundstruktur" |
| 24 | + }, |
| 25 | + { |
| 26 | + "type": "subtitle2", |
| 27 | + "text": "1. <code class=\"language-python\">if</code> (wenn…)" |
| 28 | + }, |
| 29 | + { |
| 30 | + "type": "paragraph", |
| 31 | + "text": "Es wird nur ausgeführt, wenn die Bedingung wahr ist." |
| 32 | + }, |
| 33 | + { |
| 34 | + "type": "code", |
| 35 | + "text": "alter = 18\nif alter >= 18:\n\tprint(\"Du bist volljährig\")" |
| 36 | + }, |
| 37 | + { |
| 38 | + "type": "paragraph", |
| 39 | + "text": "Ausgabe:" |
| 40 | + }, |
| 41 | + { |
| 42 | + "type": "code", |
| 43 | + "text": "Du bist volljährig" |
| 44 | + }, |
| 45 | + { |
| 46 | + "type": "test-button", |
| 47 | + "text": "Ausprobieren >>", |
| 48 | + "code": "alter = 18\nif alter >= 18:\n\tprint(\"Du bist volljährig\")" |
| 49 | + }, |
| 50 | + { |
| 51 | + "type": "subtitle2", |
| 52 | + "text": "2. <code class=\"language-python\">elif</code> (ansonsten… aber wenn…)" |
| 53 | + }, |
| 54 | + { |
| 55 | + "type": "paragraph", |
| 56 | + "text": "Es wird verwendet, um zusätzliche Bedingungen zu prüfen, wenn die <code class=\"language-python\">if</code>-Bedingung nicht erfüllt ist." |
| 57 | + }, |
| 58 | + { |
| 59 | + "type": "code", |
| 60 | + "text": "note = 75\nif note >= 90:\n\tprint(\"Ausgezeichnet\")\nelif note >= 70:\n\tprint(\"Bestanden\")" |
| 61 | + }, |
| 62 | + { |
| 63 | + "type": "paragraph", |
| 64 | + "text": "Ausgabe:" |
| 65 | + }, |
| 66 | + { |
| 67 | + "type": "code", |
| 68 | + "text": "Bestanden" |
| 69 | + }, |
| 70 | + { |
| 71 | + "type": "test-button", |
| 72 | + "text": "Ausprobieren >>", |
| 73 | + "code": "note = 75\nif note >= 90:\n\tprint(\"Ausgezeichnet\")\nelif note >= 70:\n\tprint(\"Bestanden\")" |
| 74 | + }, |
| 75 | + { |
| 76 | + "type": "subtitle2", |
| 77 | + "text": "3. <code class=\"language-python\">else</code> (wenn nichts anderes zutrifft...)" |
| 78 | + }, |
| 79 | + { |
| 80 | + "type": "paragraph", |
| 81 | + "text": "Es wird nur ausgeführt, wenn alle vorherigen Bedingungen falsch waren." |
| 82 | + }, |
| 83 | + { |
| 84 | + "type": "code", |
| 85 | + "text": "temperatur = 10\nif temperatur > 25:\n\tprint(\"Es ist heiß\")\nelse:\n\tprint(\"Es ist kalt\")" |
| 86 | + }, |
| 87 | + { |
| 88 | + "type": "paragraph", |
| 89 | + "text": "Ausgabe:" |
| 90 | + }, |
| 91 | + { |
| 92 | + "type": "code", |
| 93 | + "text": "Es ist kalt" |
| 94 | + }, |
| 95 | + { |
| 96 | + "type": "test-button", |
| 97 | + "text": "Ausprobieren >>", |
| 98 | + "code": "temperatur = 10\nif temperatur > 25:\n\tprint(\"Es ist heiß\")\nelse:\n\tprint(\"Es ist kalt\")" |
| 99 | + }, |
| 100 | + { |
| 101 | + "type": "note", |
| 102 | + "text": "📌 <strong>Hinweis:</strong><br><code class=\"language-python\">else</code> hat keine Bedingung, da es als letzte Option ausgeführt wird, wenn keine der vorherigen Bedingungen zutrifft." |
| 103 | + }, |
| 104 | + { |
| 105 | + "type": "subtitle1", |
| 106 | + "text": "Verkettung von Bedingungen" |
| 107 | + }, |
| 108 | + { |
| 109 | + "type": "paragraph", |
| 110 | + "text": "Du kannst <code class=\"language-python\">if</code>, mehrere <code class=\"language-python\">elif</code>-Anweisungen und ein <code class=\"language-python\">else</code> kombinieren, um mehrere Pfade zu erstellen:" |
| 111 | + }, |
| 112 | + { |
| 113 | + "type": "code", |
| 114 | + "text": "x = 0\nif x > 0:\n\tprint(\"Positiv\")\nelif x < 0:\n\tprint(\"Negativ\")\nelse:\n\tprint(\"Null\")" |
| 115 | + }, |
| 116 | + { |
| 117 | + "type": "paragraph", |
| 118 | + "text": "Ausgabe:" |
| 119 | + }, |
| 120 | + { |
| 121 | + "type": "code", |
| 122 | + "text": "Null" |
| 123 | + }, |
| 124 | + { |
| 125 | + "type": "test-button", |
| 126 | + "text": "Ausprobieren >>", |
| 127 | + "code": "x = 0\nif x > 0:\n\tprint(\"Positiv\")\nelif x < 0:\n\tprint(\"Negativ\")\nelse:\n\tprint(\"Null\")" |
| 128 | + }, |
| 129 | + { |
| 130 | + "type": "paragraph", |
| 131 | + "text": "Diese Art von Struktur hilft dabei, reale Prozesse zu modellieren: Noten bewerten, Altersgruppen einteilen, Optionen auswählen usw." |
| 132 | + }, |
| 133 | + { |
| 134 | + "type": "tip", |
| 135 | + "text": "⭐ <strong>Tipp:</strong><br>Wenn du viele Bedingungen hast, ordne sie von der spezifischsten bis zur allgemeinsten, um zu verhindern, dass eine breite Bedingung genauere Bedingungen blockiert." |
| 136 | + }, |
| 137 | + { |
| 138 | + "type": "subtitle1", |
| 139 | + "text": "Nützlichste Bedingungen" |
| 140 | + }, |
| 141 | + { |
| 142 | + "type": "paragraph", |
| 143 | + "text": "Du kannst Vergleichsoperatoren verwenden (dazu gehen wir in der nächsten Lerneinheit näher ein):" |
| 144 | + }, |
| 145 | + { |
| 146 | + "type": "list", |
| 147 | + "items": [ |
| 148 | + "<code class=\"language-python\">==</code> (gleich).", |
| 149 | + "<code class=\"language-python\">!=</code> (ungleich).", |
| 150 | + "<code class=\"language-python\"><</code> (kleiner als), <code class=\"language-python\">></code> (größer als), <code class=\"language-python\"><=</code> (kleiner oder gleich), <code class=\"language-python\">>=</code> (größer oder gleich)." |
| 151 | + ] |
| 152 | + }, |
| 153 | + { |
| 154 | + "type": "paragraph", |
| 155 | + "text": "Du kannst auch logische Operatoren verwenden (dazu gehen wir in der nächsten Lerneinheit näher ein):" |
| 156 | + }, |
| 157 | + { |
| 158 | + "type": "list", |
| 159 | + "items": [ |
| 160 | + "<code class=\"language-python\">and</code> (und).", |
| 161 | + "<code class=\"language-python\">or</code> (oder).", |
| 162 | + "<code class=\"language-python\">not</code> (nicht)." |
| 163 | + ] |
| 164 | + }, |
| 165 | + { |
| 166 | + "type": "paragraph", |
| 167 | + "text": "Beispiel:" |
| 168 | + }, |
| 169 | + { |
| 170 | + "type": "code", |
| 171 | + "text": "alter = 20\nhat_ausweis = True\n\nif alter >= 18 and hat_ausweis:\n\tprint(\"Du darfst eintreten\")" |
| 172 | + }, |
| 173 | + { |
| 174 | + "type": "paragraph", |
| 175 | + "text": "Ausgabe:" |
| 176 | + }, |
| 177 | + { |
| 178 | + "type": "code", |
| 179 | + "text": "Du darfst eintreten" |
| 180 | + }, |
| 181 | + { |
| 182 | + "type": "test-button", |
| 183 | + "text": "Ausprobieren >>", |
| 184 | + "code": "alter = 20\nhat_ausweis = True\n\nif alter >= 18 and hat_ausweis:\n\tprint(\"Du darfst eintreten\")" |
| 185 | + }, |
| 186 | + { |
| 187 | + "type": "note", |
| 188 | + "text": "📌 <strong>Hinweis:</strong><br>Bedingungen können so einfach oder so komplex sein, wie du sie brauchst. Es ist jedoch gute Praxis, sie klar und lesbar zu halten." |
| 189 | + }, |
| 190 | + { |
| 191 | + "type": "subtitle1", |
| 192 | + "text": "Praktische Beispiele" |
| 193 | + }, |
| 194 | + { |
| 195 | + "type": "subtitle2", |
| 196 | + "text": "Beispiel 1: Prüfen, Ob Eine Zahl Gerade Oder Ungerade Ist" |
| 197 | + }, |
| 198 | + { |
| 199 | + "type": "code", |
| 200 | + "text": "zahl = 8\n\nif zahl % 2 == 0:\n\tprint(\"Gerade\")\nelse:\n\tprint(\"Ungerade\")" |
| 201 | + }, |
| 202 | + { |
| 203 | + "type": "paragraph", |
| 204 | + "text": "Ausgabe:" |
| 205 | + }, |
| 206 | + { |
| 207 | + "type": "code", |
| 208 | + "text": "Gerade" |
| 209 | + }, |
| 210 | + { |
| 211 | + "type": "test-button", |
| 212 | + "text": "Ausprobieren >>", |
| 213 | + "code": "zahl = 8\n\nif zahl % 2 == 0:\n\tprint(\"Gerade\")\nelse:\n\tprint(\"Ungerade\")" |
| 214 | + }, |
| 215 | + { |
| 216 | + "type": "subtitle2", |
| 217 | + "text": "Beispiel 2: Alter Klassifizieren" |
| 218 | + }, |
| 219 | + { |
| 220 | + "type": "code", |
| 221 | + "text": "alter = 15\n\nif alter < 13:\n\tprint(\"Kind\")\nelif alter < 18:\n\tprint(\"Teenager\")\nelse:\n\tprint(\"Erwachsener\")" |
| 222 | + }, |
| 223 | + { |
| 224 | + "type": "paragraph", |
| 225 | + "text": "Ausgabe:" |
| 226 | + }, |
| 227 | + { |
| 228 | + "type": "code", |
| 229 | + "text": "Teenager" |
| 230 | + }, |
| 231 | + { |
| 232 | + "type": "test-button", |
| 233 | + "text": "Ausprobieren >>", |
| 234 | + "code": "alter = 15\n\nif alter < 13:\n\tprint(\"Kind\")\nelif alter < 18:\n\tprint(\"Teenager\")\nelse:\n\tprint(\"Erwachsener\")" |
| 235 | + }, |
| 236 | + { |
| 237 | + "type": "subtitle2", |
| 238 | + "text": "Beispiel 3: Prüfen, Ob Ein Passwort Korrekt Ist" |
| 239 | + }, |
| 240 | + { |
| 241 | + "type": "code", |
| 242 | + "text": "passwort = \"python123%\"\n\nif passwort == \"python123%\":\n\tprint(\"Zugriff erlaubt\")\nelse:\n\tprint(\"Zugriff verweigert\")" |
| 243 | + }, |
| 244 | + { |
| 245 | + "type": "paragraph", |
| 246 | + "text": "Ausgabe:" |
| 247 | + }, |
| 248 | + { |
| 249 | + "type": "code", |
| 250 | + "text": "Zugriff erlaubt" |
| 251 | + }, |
| 252 | + { |
| 253 | + "type": "test-button", |
| 254 | + "text": "Ausprobieren >>", |
| 255 | + "code": "passwort = \"python123%\"\n\nif passwort == \"python123%\":\n\tprint(\"Zugriff erlaubt\")\nelse:\n\tprint(\"Zugriff verweigert\")" |
| 256 | + }, |
| 257 | + { |
| 258 | + "type": "subtitle1", |
| 259 | + "text": "Übungen Zum Üben" |
| 260 | + }, |
| 261 | + { |
| 262 | + "type": "subtitle2", |
| 263 | + "text": "Übung 1: Volljährig Oder Minderjährig" |
| 264 | + }, |
| 265 | + { |
| 266 | + "type": "paragraph", |
| 267 | + "text": "Erstelle eine Variable mit einem Alter (z.B.: <code class=\"language-python\">alter = 17</code>)." |
| 268 | + }, |
| 269 | + { |
| 270 | + "type": "paragraph", |
| 271 | + "text": "Wenn das Alter 18 oder älter ist, zeige „Volljährig“." |
| 272 | + }, |
| 273 | + { |
| 274 | + "type": "paragraph", |
| 275 | + "text": "Andernfalls zeige „Minderjährig“." |
| 276 | + }, |
| 277 | + { |
| 278 | + "type": "test-button", |
| 279 | + "text": "Üben >>", |
| 280 | + "code": "# Erstelle eine Variable mit einem Alter\n# (z.B.: alter = 17).\n# Wenn das Alter 18 oder älter ist, zeige \"Volljährig\".\n# Andernfalls zeige \"Minderjährig\"" |
| 281 | + }, |
| 282 | + { |
| 283 | + "type": "collapsible", |
| 284 | + "title": "Mögliche Lösung anzeigen", |
| 285 | + "content": [ |
| 286 | + { |
| 287 | + "type": "code", |
| 288 | + "text": "alter = 17\n\nif alter >= 18:\n\tprint(\"Volljährig\")\nelse:\n\tprint(\"Minderjährig\")" |
| 289 | + }, |
| 290 | + { |
| 291 | + "type": "test-button", |
| 292 | + "text": "Lösung Ausprobieren >>", |
| 293 | + "code": "alter = 17\n\nif alter >= 18:\n\tprint(\"Volljährig\")\nelse:\n\tprint(\"Minderjährig\")" |
| 294 | + } |
| 295 | + ] |
| 296 | + }, |
| 297 | + { |
| 298 | + "type": "subtitle2", |
| 299 | + "text": "Übung 2: Zahlenklassifizierung" |
| 300 | + }, |
| 301 | + { |
| 302 | + "type": "paragraph", |
| 303 | + "text": "Erstelle eine Variable namens <code class=\"language-python\">n</code> und weise ihr einen Zahlenwert zu." |
| 304 | + }, |
| 305 | + { |
| 306 | + "type": "paragraph", |
| 307 | + "text": "Zeige an, ob die Zahl positiv, negativ oder null ist." |
| 308 | + }, |
| 309 | + { |
| 310 | + "type": "test-button", |
| 311 | + "text": "Üben >>", |
| 312 | + "code": "# Erstelle eine Variable namens n und weise ihr\n# einen Zahlenwert zu.\n# Zeige an, ob die Zahl positiv, negativ oder null ist" |
| 313 | + }, |
| 314 | + { |
| 315 | + "type": "collapsible", |
| 316 | + "title": "Mögliche Lösung anzeigen", |
| 317 | + "content": [ |
| 318 | + { |
| 319 | + "type": "code", |
| 320 | + "text": "n = -5\n\nif n > 0:\n\tprint(\"Positiv\")\nelif n < 0:\n\tprint(\"Negativ\")\nelse:\n\tprint(\"Null\")" |
| 321 | + }, |
| 322 | + { |
| 323 | + "type": "test-button", |
| 324 | + "text": "Lösung Ausprobieren >>", |
| 325 | + "code": "n = -5\n\nif n > 0:\n\tprint(\"Positiv\")\nelif n < 0:\n\tprint(\"Negativ\")\nelse:\n\tprint(\"Null\")" |
| 326 | + } |
| 327 | + ] |
| 328 | + }, |
| 329 | + { |
| 330 | + "type": "subtitle2", |
| 331 | + "text": "Übung 3: Zugriff Überprüfen" |
| 332 | + }, |
| 333 | + { |
| 334 | + "type": "paragraph", |
| 335 | + "text": "Erstelle zwei Variablen:" |
| 336 | + }, |
| 337 | + { |
| 338 | + "type": "list", |
| 339 | + "items": [ |
| 340 | + "<code class=\"language-python\">alter</code>.", |
| 341 | + "<code class=\"language-python\">hat_eintritt</code> (<code class=\"language-python\">True</code> oder <code class=\"language-python\">False</code>)." |
| 342 | + ] |
| 343 | + }, |
| 344 | + { |
| 345 | + "type": "paragraph", |
| 346 | + "text": "Wenn die Person ein Ticket hat und 16 Jahre oder älter ist, zeige „Willkommen“. Andernfalls zeige „Du kannst nicht eintreten“." |
| 347 | + }, |
| 348 | + { |
| 349 | + "type": "test-button", |
| 350 | + "text": "Üben >>", |
| 351 | + "code": "# Erstelle zwei Variablen:\n# alter\n# hat_eintritt (True oder False)\n# Wenn die Person ein Ticket hat und 16 Jahre oder\n# älter ist, zeige \"Willkommn\".\n# Andernfalls zeige \"Du kannst nicht eintreten\"" |
| 352 | + }, |
| 353 | + { |
| 354 | + "type": "collapsible", |
| 355 | + "title": "Mögliche Lösung anzeigen", |
| 356 | + "content": [ |
| 357 | + { |
| 358 | + "type": "code", |
| 359 | + "text": "alter = 16\nhat_eintritt = True\n\nif alter >= 16 and hat_eintritt:\n\tprint(\"Willkommen\")\nelse:\n\tprint(\"Du kannst nicht eintreten\")" |
| 360 | + }, |
| 361 | + { |
| 362 | + "type": "test-button", |
| 363 | + "text": "Lösung Ausprobieren >>", |
| 364 | + "code": "alter = 16\nhat_eintritt = True\n\nif alter >= 16 and hat_eintritt:\n\tprint(\"Willkommen\")\nelse:\n\tprint(\"Du kannst nicht eintreten\")" |
| 365 | + } |
| 366 | + ] |
| 367 | + }, |
| 368 | + { |
| 369 | + "type": "subtitle1", |
| 370 | + "text": "Fazit der Einheit" |
| 371 | + }, |
| 372 | + { |
| 373 | + "type": "paragraph", |
| 374 | + "text": "In dieser Einheit hast du gelernt, dass:" |
| 375 | + }, |
| 376 | + { |
| 377 | + "type": "list", |
| 378 | + "items": [ |
| 379 | + "Bedingungen es einem Programm ermöglichen, Entscheidungen zu treffen.", |
| 380 | + "<code class=\"language-python\">if</code>, <code class=\"language-python\">elif</code> und <code class=\"language-python\">else</code> verschiedene Ausführungspfade steuern.", |
| 381 | + "Bedingungen funktionieren, indem Ausdrücke ausgewertet werden, die wahr oder falsch sein können.", |
| 382 | + "Du logische und Vergleichsoperatoren verwenden kannst, um vollständigere Bedingungen zu erstellen.", |
| 383 | + "Es möglich ist, mehrere Fälle zu verketten, um realistischere und vielfältigere Probleme zu lösen." |
| 384 | + ] |
| 385 | + }, |
| 386 | + { |
| 387 | + "type": "paragraph", |
| 388 | + "text": "Wenn du Bedingungen meisterst, hören deine Programme auf, linear zu sein, und beginnen, auf verschiedene Situationen zu reagieren." |
| 389 | + } |
| 390 | + ] |
| 391 | +} |
0 commit comments