Übungsaufgaben
Um den Sinn von Funktionen und deren Anwendungsgebiet besser zu verstehen, habe ich hier ein paar Übungsaufgaben für dich. Stets nach dem Motto "Studieren geht über probieren" 😉
- Schreibe eine Funktion mit dem Namen "add", die zwei Zahlen als Eingabe bekommt. Die Funktion soll die beiden Zahlen addieren und das Ergebnis zurückgeben.
Beispiel: Wenn du 5 und 6 übergibst, soll die Funktion 11 zurückgeben.
Zeige Lösung
def add(a, b):
return a + b
x = add(5, 6)
print(x)
11
- Schreibe eine "evens" Funktion, die eine Liste mit Zahlen bekommt. Die Funktion soll nur die geraden Zahlen aus dieser Liste nehmen und eine neue Liste mit diesen geraden Zahlen zurückgeben.
Sprich wir geben der Funktion diese Liste
[1, 2, 3, 4, 5, 6]
und zurück bekommen wir[2, 4, 6]
Zeige Lösung
numbers = range(1, 101)
def evens(numbers):
even_numbers = []
for number in numbers:
if number % 2 == 0:
even_numbers.append(number)
return even_numbers
print(evens(numbers))
[2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100]
- Schreibe eine Funktion, die zwei Dinge als Eingabe bekommt:
- einen Text (String) und
- eine Zahl.
Die Funktion soll den Text so oft wiederholen, wie es die Zahl angibt, und das Ergebnis als einen einzigen String zurückgeben.
Beispiel: Wenn der Text "yes" ist und die Zahl 5, soll die Funktion diesen Text fünfmal hintereinander aneinanderreihen: "yesyesyesyesyes"
Zeige Lösung
def repeat_str(text, repeat):
end_string = ""
for _ in range(repeat):
end_string += text
return end_string
print(repeat("yes", 5))
yesyesyesyesyes
- Schreibe eine Funktion, die eine Temperatur in Celsius als Eingabe bekommt und sie in Fahrenheit umrechnet.
Verwende dafür die folgende Umrechnungsformel:
- Fahrenheit = (Celsius × 1.8) + 32
Die Funktion soll das Ergebnis zurückgeben.
Beispiel: Wenn du 25 als Celsius-Temperatur übergibst, soll die Funktion 77.0 zurückgeben.
Zeige Lösung
def fahrenheit(celsius):
f = (celsius * 1.8) + 32
return f
print(fahrenheit(25))
77.0
- Schreibe eine "min_max" Funktion, die eine Liste mit Zahlen bekommt und sowohl das kleinste als auch das größte Element aus dieser Liste zurückgibt.
Die Funktion soll das Ergebnis als Liste mit zwei Werten zurückgeben:
- zuerst das Minimum,
- dann das Maximum.
Beispiel: Bei der Liste [234, 789, 23487, 1] soll die "min_max" Funktion [1, 23487] zurückgeben.
Zeige Lösung
numbers = [234, 789, 23487, 1]
def min_max(numbers):
min = numbers[0]
max = numbers[0]
for number in numbers:
if number < min:
min = number
if number > max:
max = number
return [min, max]
print(min_max(numbers))
[1, 23487]