Übung: Sekunden umrechnen
Eine eigene Funktion macht aus einer Zahl von Sekunden eine lesbare Dauer wie 2 h 5 min 7 s, und ein kleines Hauptprogramm fragt danach.
Vorher ansehen: Eigene Funktionen
Was du lernst
In dieser Übung schreibst du eine eigene Funktion, die Sekunden in eine lesbare Dauer umrechnet, und kannst danach:
- mit
//und%eine Zahl von Sekunden schrittweise in Stunden, Minuten und Sekunden zerlegen - eine Funktion schreiben, die ihr Ergebnis mit
returnals Text zurückgibt, statt es selbst auszugeben - Eingabe und Ausgabe in einer Funktion
mainvon der eigentlichen Rechnung trennen - eine Funktion einzeln mit Werten prüfen, deren Ergebnis du im Kopf kennst, etwa 59, 60, 3600 und 3661 Sekunden
Als Skript herunterladen
python-exercise-seconds.py mit der Aufgabe als Kommentar, zum Ausführen in VS Code oder Positron
Aufgabe
Schreib eine Funktion format_duration(seconds), die eine Zahl von Sekunden
bekommt und einen Text zurückgibt, der dieselbe Dauer in Stunden, Minuten und
Sekunden ausdrückt, etwa "2 h 5 min 7 s" für 7507 Sekunden. Die Funktion
selbst gibt nichts aus, sie liefert den Text mit return. Ein Hauptprogramm
main fragt nach den Sekunden, ruft die Funktion auf und gibt das Ergebnis
aus.
So soll es aussehen
Wie viele Sekunden? 7507
7507 Sekunden sind 2 h 5 min 7 s.
Dein Programm
def main():
answer = input("Wie viele Sekunden? ")
seconds = int(answer)
duration = format_duration(seconds)
print(f"{seconds} Sekunden sind {duration}.")
def format_duration(seconds):
# Rechne Stunden, Minuten und Sekunden aus und gib den Text zurück.
return ""
main()Weil format_duration ihr Ergebnis zurückgibt, kannst du sie auch einzeln
prüfen. Ersetze dazu die letzte Zeile vorübergehend durch
print(format_duration(7507)) und vergleiche mit dem erwarteten Ergebnis.
TIPP 1 ANZEIGEN
Eine Stunde hat 3600 Sekunden. seconds // 3600 liefert die vollen Stunden,
und seconds % 3600 die Sekunden, die danach übrig bleiben. Mit diesem Rest
machst du für die Minuten dasselbe noch einmal mit 60.
TIPP 2 ANZEIGEN
Prüfe deine Funktion mit Werten, bei denen du das Ergebnis im Kopf weißt: 59 Sekunden, 60 Sekunden, 3600 Sekunden und 3661 Sekunden.
LÖSUNG ANZEIGEN
def main():
answer = input("Wie viele Sekunden? ")
seconds = int(answer)
duration = format_duration(seconds)
print(f"{seconds} Sekunden sind {duration}.")
def format_duration(seconds):
hours = seconds // 3600
rest = seconds % 3600
minutes = rest // 60
rest = rest % 60
return f"{hours} h {minutes} min {rest} s"
main()Die Funktion zerlegt die Sekunden in zwei Schritten, zuerst in Stunden und Rest, dann den Rest in Minuten und Sekunden. Für 7507 ergibt das 2 Stunden und 307 Sekunden Rest, und 307 Sekunden sind 5 Minuten und 7 Sekunden.
Für Schnelle
Erweitere die Funktion um Tage, sodass 90061 Sekunden als 1 d 1 h 1 min 1 s
erscheinen.
Details
- Niveau
- Einstieg
- Module
- Digitalisierung und Programmierung
- In Lernpfaden
- Python für Anfänger
- Code
8206- Stand
- 1. November 2026
- Status
- veröffentlicht