some new things, mostly not working or finished

This commit is contained in:
2025-11-08 18:16:10 +01:00
parent 5792bfbd9a
commit 795fb42900
30 changed files with 4789 additions and 1 deletions

57
functions/sekunden.py Normal file
View File

@@ -0,0 +1,57 @@
# -*- coding: ansi -*-
def timetosec(time_str):
parts = time_str.split(':')
parts = [int(p) for p in parts]
if len(parts) == 3: # HH:MM:SS
hours, minutes, seconds = parts
elif len(parts) == 2: # MM:SS
hours = 0
minutes, seconds = parts
elif len(parts) == 1: # SS
hours = 0
minutes = 0
seconds = parts[0]
else:
raise ValueError("Zeitformat")
total_seconds = hours * 3600 + minutes * 60 + seconds
return total_seconds
print(timetosec("02:15:30")) # 8130
print(timetosec("15:30")) # 930
print(timetosec("45")) # 45
def format_seconds(seconds: int) -> str:
"""
Meine Interpretation von dem Moodle eintrag. Der leer ist.
Wandelt Sekunden in das n<>chst beste Format um
:param seconds -> int
:returns str
"""
if seconds < 0:
return "falsche eingable"
intervals = (
('Tag', 86400), # 60*60*24
('Stunde', 3600), # 60*60
('Minute', 60),
('Sekunde', 1),
)
result = []
for name, count in intervals:
value = seconds // count
if value:
seconds -= value * count
if value == 1:
result.append(f"{value} {name}")
else:
result.append(f"{value} {name}en")
return ', '.join(result) if result else "0 Sekunden"
print(format_seconds(3661)) # 1std 1m 1s
print(format_seconds(86465)) # 1t 1m 5s
print(format_seconds(59)) # 59s