1.3. Programmieren direkt in diesem Buch#
Auf manchen Seiten in diesem Buch siehst du ganz oben ein 🚀 Raketensymbol. Klicke es an und wähle dann “Live Code”. Dadurch wird die Seite zu einem Jupyter Notebook, das du direkt im Browser bearbeiten und ausführen kannst - ganz ohne Software zu installieren!
Probiere es hier unten gleich einmal aus 👇
Live Coding: Erster Versuch#
# Aufgabe 1: Führe den Code aus (🚀 ⟶ Live Code ⟶ "run"-Button unterhalb dieser Zelle).
# Aufgabe 2: Ändere den Code so, dass bei der Ausführung"Hallo Welt" ausgegeben wird.
name: str = "Max Mustermann" # Ersetze durch deinen Namen
print("Gleich wirst du persönlich begrüßt:")
# Aufgabe: Erweitere den Code so, dass die Person begrüßt wird,
# deren Name in der Variable `name` gespeichert ist.
print("Hallo")
Gleich wirst du persönlich begrüßt:
Hallo
Übungsaufgabe#
Bearbeite die folgende Aufgabe direkt im Browser (🚀-Button).
Wenn du die Zelle ausführst, laufen ein paar automatische Tests ab. Wenn sie alle fehlerfrei durchlaufen, herzlichen Glückwunsch! Falls nicht, sieh dir an, welcher Test schief ging und überlege warum.
def finde_maximum(a: int, b: int, c: int) -> int:
# Aufgabe: Schreibe eine Funktion, die den größten Wert von a, b und c zurückgibt.
# TODO: Implementiere die Funktion
return 0 # TODO: Ersetze durch den berechneten Wert
# Mit den folgenden Tests kannst du überprüfen, ob deine Funktion richtig funktioniert
print("Beginne Tests...")
assert finde_maximum(1, 2, 3) == 3, "Test 1 fehlgeschlagen"
assert finde_maximum(3, 2, 1) == 3, "Test 2 fehlgeschlagen"
assert finde_maximum(1, 3, 2) == 3, "Test 3 fehlgeschlagen"
assert finde_maximum(1, 1, 1) == 1, "Test 4 fehlgeschlagen"
assert finde_maximum(2, 1, 1) == 2, "Test 5 fehlgeschlagen"
assert finde_maximum(-3, -2, -5) == -2, "Test 6 fehlgeschlagen"
print("Super! Alle Tests bestanden.")
Beginne Tests...
---------------------------------------------------------------------------
AssertionError Traceback (most recent call last)
Cell In[6], line 10
8 # Mit den folgenden Tests kannst du überprüfen, ob deine Funktion richtig funktioniert
9 print("Beginne Tests...")
---> 10 assert finde_maximum(1, 2, 3) == 3, "Test 1 fehlgeschlagen"
11 assert finde_maximum(3, 2, 1) == 3, "Test 2 fehlgeschlagen"
12 assert finde_maximum(1, 3, 2) == 3, "Test 3 fehlgeschlagen"
AssertionError: Test 1 fehlgeschlagen
Aufgaben herunterladen#
Dieses Skript besteht aus Jupyter Notebooks. Du kannst, wie oben gezeigt, die Notebooks im Browser bearbeiten. Das ist v.a. für kurze, einfache Aufgaben sinnvoll. Allerdings sind deine Eingaben beim Neuladen der Webseite sofort wieder verschwunden.
Du kannst die Notebooks aber auch herunterladen und auf deinem eigenen Rechner damit arbeiten (z.B. in VS Code).
Zum Herunterladen einer Seite,
klicke am oberen Rand dieser Seite auf das Download-Symbol (in der Nähe der 🚀)
wähle das Format
.ipynb
und speichere die Datei ab.(Falls die Datei im Browser angezeigt wird, mache stattdessen einen Rechtsklick auf
.ipynb
und wähle im Kontextmenü “Link speichern unter…”)
Kopiere das Notebook zu deinen Unterrichtsmaterialien und bearbeite es dort. So bleiben deine Ergebnisse dauerhaft erhalten.
Aufgabe: Probiere das sofort aus. Lade dieses Notebook herunter und bearbeite die folgende Aufgabe auf deinem eigenen Rechner.
class Mitarbeiter:
def __init__(self, vorname: str, nachname: str, gehalt: float):
"""Konstruktor für Mitarbeiter-Objekte"""
# TODO: Speichere die übergebenen Werte in den Attributen
# Tipp: Verwende die `self`-Variable, um auf das Objekt zuzugreifen
def __str__(self):
"""Gibt eine lesbare Repräsentation des Mitarbeiters zurück"""
# TODO: Ersetze den Platzhalter durch eine passende Repräsentation des Mitarbeiters
return f"hier etwas sinnvolles einsetzen"
def gehalt_erhoehen(self, betrag: float):
"""Erhöht das Gehalt des Mitarbeiters um den angegebenen Betrag"""
# TODO: Implementiere die Funktion
# Beispiele für Mitarbeiter
print("Beispiele für Mitarbeiter:")
max = Mitarbeiter("Max", "Mustermann", 3000)
anna = Mitarbeiter("Anna", "Musterfrau", 4000)
print(max) # Erwartete Ausgabe: Max Mustermann (Gehalt: 3000 €)
print(anna) # Erwartete Ausgabe: Anna Musterfrau (Gehalt: 4000 €)
print("Anna bekommt eine Gehaltserhöhung um 500 €")
anna.gehalt_erhoehen(500)
print(anna) # Erwartete Ausgabe: Anna Musterfrau (Gehalt: 4500 €)
Beispiele für Mitarbeiter:
Max Mustermann (Gehalt: 3000 €)
Anna Musterfrau (Gehalt: 4000 €)
Anna bekommt eine Gehaltserhöhung um 500 €
Anna Musterfrau (Gehalt: 4500 €)
Lösung: (Aber nur anschauen, wenn du wirklich nicht weiterkommst!)
Show code cell content
class Mitarbeiter:
def __init__(self, vorname: str, nachname: str, gehalt: float):
"""Konstruktor für Mitarbeiter-Objekte"""
self.vorname: str = vorname
self.nachname: str = nachname
self.gehalt: float = gehalt
def __str__(self):
"""Gibt eine lesbare Repräsentation des Mitarbeiters zurück"""
return f"{self.vorname} {self.nachname} (Gehalt: {self.gehalt} €)"
def gehalt_erhoehen(self, betrag: float):
"""Erhöht das Gehalt des Mitarbeiters um den angegebenen Betrag"""
self.gehalt += betrag
# Beispiele für Mitarbeiter
print("Beispiele für Mitarbeiter:")
max = Mitarbeiter("Max", "Mustermann", 3000)
anna = Mitarbeiter("Anna", "Musterfrau", 4000)
print(max) # Erwartete Ausgabe: Max Mustermann (Gehalt: 3000 €)
print(anna) # Erwartete Ausgabe: Anna Musterfrau (Gehalt: 4000 €)
print("Anna bekommt eine Gehaltserhöhung um 500 €")
anna.gehalt_erhoehen(500)
print(anna) # Erwartete Ausgabe: Anna Musterfrau (Gehalt: 4500 €)
Beispiele für Mitarbeiter:
Max Mustermann (Gehalt: 3000 €)
Anna Musterfrau (Gehalt: 4000 €)
Anna bekommt eine Gehaltserhöhung um 500 €
Anna Musterfrau (Gehalt: 4500 €)