Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
| Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
| gf_informatik:funktionen [2025-11-20 13:07] – [Beispiel 2: Funktion mit Parameter und ohne Rückgabewert] hof | gf_informatik:funktionen [2025-11-20 13:59] (aktuell) – [Aufgabe E5] hof | ||
|---|---|---|---|
| Zeile 27: | Zeile 27: | ||
| * Das Schlüsselwort `def` leitet immer die Definition einer Funktion ein. | * Das Schlüsselwort `def` leitet immer die Definition einer Funktion ein. | ||
| * Darauf folgt der **Funktionsname**. Typischerweise schreibt man diesen mit ausschliesslich Kleinbuchstaben und Underscores `_`. | * Darauf folgt der **Funktionsname**. Typischerweise schreibt man diesen mit ausschliesslich Kleinbuchstaben und Underscores `_`. | ||
| - | * Direkt anschliessend werden `(`**runde Klammern**`)` geschrieben. Diese enthalten die **Parameter**. Das sind Werte, die an die Funktion übergeben werden. Funktionen können auch ohne Parameter definiert werden, die Klammern sind dann halt einfach | + | * Wie bei Variablen bestimmst du den Namen - er sollte sinnvoll sein und beschreiben, |
| + | * Direkt anschliessend werden `(`**runde Klammern**`)` geschrieben. Diese enthalten die **Parameter**. Das sind Werte, die an die Funktion übergeben werden. Funktionen können auch ohne Parameter definiert werden, die Klammern sind dann leer. | ||
| * Nach einem **Doppelpunkt** `:` | * Nach einem **Doppelpunkt** `:` | ||
| * folgt der **Funktionskörper**, | * folgt der **Funktionskörper**, | ||
| Zeile 55: | Zeile 56: | ||
| < | < | ||
| def say_hi(name): | def say_hi(name): | ||
| - | print(" | + | print(f" |
| say_hi(" | say_hi(" | ||
| Zeile 64: | Zeile 65: | ||
| In einem Glücksspiel wollen wir oft einen Würfelwurf simulieren. Dazu wollen wir eine Würfelfunktion `wuerfle()` programmieren, | In einem Glücksspiel wollen wir oft einen Würfelwurf simulieren. Dazu wollen wir eine Würfelfunktion `wuerfle()` programmieren, | ||
| - | <code python> | + | <html>< |
| import random | import random | ||
| Zeile 74: | Zeile 75: | ||
| print(wuerfle()) | print(wuerfle()) | ||
| print(wuerfle()) | print(wuerfle()) | ||
| - | </code> | + | </bottom-editor></ |
| === Beispiel 4: Funktion mit Parameter und mit Rückgabewert === | === Beispiel 4: Funktion mit Parameter und mit Rückgabewert === | ||
| Nun wollen wir auch andere Würfel (z.B. 12er-Würfel) simulieren können. Dazu führen wir einen Parameter ein, der den maximalen Wert des Würfels festlegt: | Nun wollen wir auch andere Würfel (z.B. 12er-Würfel) simulieren können. Dazu führen wir einen Parameter ein, der den maximalen Wert des Würfels festlegt: | ||
| - | <code python> | + | <html>< |
| import random | import random | ||
| Zeile 89: | Zeile 90: | ||
| print(wuerfle(12)) | print(wuerfle(12)) | ||
| print(wuerfle(12)) | print(wuerfle(12)) | ||
| - | </code> | + | </bottom-editor></ |
| In Realität ist es aber so, dass die meisten Würfel bis $6$ gehen. Wir können nun unser Leben einfacher machen, indem wir den Parameter `max_nr` mit einem **Vorgabewert** ausstatten: | In Realität ist es aber so, dass die meisten Würfel bis $6$ gehen. Wir können nun unser Leben einfacher machen, indem wir den Parameter `max_nr` mit einem **Vorgabewert** ausstatten: | ||
| - | <code python> | + | <html>< |
| import random | import random | ||
| Zeile 102: | Zeile 103: | ||
| print(wuerfle(12)) # 12er-Wuerfel | print(wuerfle(12)) # 12er-Wuerfel | ||
| print(wuerfle()) | print(wuerfle()) | ||
| - | </code> | + | </bottom-editor></ |
| Der erste Funktionsaufruf simuliert natürlich einen 12er-Würfel. Der zweite einen 6er-Würfel: | Der erste Funktionsaufruf simuliert natürlich einen 12er-Würfel. Der zweite einen 6er-Würfel: | ||
| Zeile 180: | Zeile 182: | ||
| === Aufgabe E1 === | === Aufgabe E1 === | ||
| - | <code python> | + | <html>< |
| def greetings(name, | def greetings(name, | ||
| - | print(" | + | print(f" |
| - | greetings(" | + | greetings(" |
| - | greetings(" | + | greetings(" |
| - | </code> | + | </bottom-editor></ |
| === Aufgabe E2 === | === Aufgabe E2 === | ||
| - | <code python> | + | <html>< |
| import random | import random | ||
| Zeile 206: | Zeile 208: | ||
| head_or_tail() | head_or_tail() | ||
| head_or_tail() | head_or_tail() | ||
| - | </code> | + | </bottom-editor></ |
| === Aufgabe E3 === | === Aufgabe E3 === | ||
| - | <code python> | + | <html>< |
| import random | import random | ||
| Zeile 216: | Zeile 218: | ||
| r = random.randint(1, | r = random.randint(1, | ||
| if r == 1: | if r == 1: | ||
| - | print(" | + | print(" |
| elif r == 2: | elif r == 2: | ||
| - | print(" | + | print(" |
| else: | else: | ||
| - | print(" | + | print(" |
| - | </code> | + | |
| + | fortune_cookie() | ||
| + | </ | ||
| === Aufgabe E4 === | === Aufgabe E4 === | ||
| Zeile 366: | Zeile 370: | ||
| === Aufgabe F1 === | === Aufgabe F1 === | ||
| - | <code python> | + | <html>< |
| def volume_cube(x): | def volume_cube(x): | ||
| return x**3 | return x**3 | ||
| Zeile 372: | Zeile 376: | ||
| v = volume_cube(13) | v = volume_cube(13) | ||
| print(v) | print(v) | ||
| - | </code> | + | </bottom-editor></ |
| === Aufgabe F2 === | === Aufgabe F2 === | ||
| - | <code python> | + | <html>< |
| + | import math | ||
| def pythagoras(a, | def pythagoras(a, | ||
| - | return sqrt(a*a + b*b) | + | return |
| print(pythagoras(3, | print(pythagoras(3, | ||
| - | </code> | + | </bottom-editor></ |
| === Aufgabe F3 === | === Aufgabe F3 === | ||
| - | <code python> | + | <html>< |
| import math | import math | ||
| def volume_sphere(r): | def volume_sphere(r): | ||
| Zeile 392: | Zeile 397: | ||
| print(volume_sphere(3)) | print(volume_sphere(3)) | ||
| - | </code> | + | </bottom-editor></ |
| === Aufgabe F4 === | === Aufgabe F4 === | ||
| - | <code python> | + | <html>< |
| def grade(points, | def grade(points, | ||
| gr = 5*points/ | gr = 5*points/ | ||
| Zeile 405: | Zeile 410: | ||
| print(grade(23, | print(grade(23, | ||
| - | </code> | + | </bottom-editor></ |
| === Aufgabe F5 === | === Aufgabe F5 === | ||
| - | <code python> | + | <html>< |
| def factorial(n): | def factorial(n): | ||
| product = 1 | product = 1 | ||
| Zeile 420: | Zeile 425: | ||
| print(factorial(5)) | print(factorial(5)) | ||
| - | </code> | + | </bottom-editor></ |
| === Aufgabe F6 === | === Aufgabe F6 === | ||
| - | <code python> | + | <html>< |
| + | from math import * | ||
| def mitternachtsformel(a, | def mitternachtsformel(a, | ||
| d = b*b - 4*a*c | d = b*b - 4*a*c | ||
| Zeile 439: | Zeile 445: | ||
| print(mitternachtsformel(1, | print(mitternachtsformel(1, | ||
| print(mitternachtsformel(1, | print(mitternachtsformel(1, | ||
| - | </code> | + | </bottom-editor></ |
| ++++ | ++++ | ||
| </ | </ | ||