3 Commits

Author SHA1 Message Date
6db74b04f5 „date_diff.py“ hinzufügen
Übernahme
2024-11-11 07:00:14 +00:00
060c235e3f Typo korrigiert. 2024-11-09 16:58:16 +01:00
Olli Graf
ea14cde427 Zwischen Commit 2024-11-09 10:21:36 +01:00
8 changed files with 81 additions and 0 deletions

52
date_diff.py Normal file
View File

@@ -0,0 +1,52 @@
#! python
import sys
from datetime import datetime
def date_diff_in_days(date1, date2):
try:
# Konvertiere die übergebenen Datumsangaben in datetime-Objekte
if date1 == '$today':
print('date1 ist heutiges Datum')
date1_obj = datetime.today()
date1_obj = date1_obj.replace(hour=0,minute=0,second=0,microsecond=0)
else:
print(f'konvertiere erstes Datum {date1}')
date1_obj = datetime.strptime(date1, "%d.%m.%Y")
if date2 == '$today':
print('date2 ist heutiges Datum')
date2_obj = datetime.today()
date2_obj = date2_obj.replace(hour=0,minute=0,second=0,microsecond=0)
else:
print(f'konvertiere zweites Datum {date2}')
date2_obj = datetime.strptime(date2, "%d.%m.%Y")
print(f'konvertiere zweites Datum {date2}')
# Berechne die Differenz zwischen den beiden Datumsangaben
print(f'erstes Datum: {date1_obj}, zweites Datum: {date2_obj}')
diff = abs(date1_obj - date2_obj).days
return diff
except ValueError as e:
print("Fehler beim Parsen der Datumsangaben:", e)
return None
if __name__ == "__main__":
# Überprüfe, ob genau zwei Datumsangaben als Parameter übergeben wurden
print(f'Params: {sys.argv}')
print(f'Anzahl Param: {len(sys.argv)}')
if len(sys.argv) != 3:
print("Bitte geben Sie zwei Datumsangaben im Format YYYY-MM-DD als Kommandozeilenparameter ein.")
else:
date1 = sys.argv[1]
date2 = sys.argv[2]
# Berechne die Differenz in Tagen zwischen den beiden Datumsangaben
difference = date_diff_in_days(date1, date2)
if difference is not None:
if sys.argv[1] == '$today':
date1= 'heutigen Tag'
if sys.argv[2] == '$today':
date2= 'heutigen Tag'
print(f"Zwischen dem {date1} und dem {date2} liegen {difference} Tage.")

View File

@@ -0,0 +1,9 @@
---
version: "2.1"
services:
fibserver:
image: hans:5000/fibserver:1
container_name: fibserver
ports:
- 8085:8085
restart: unless-stopped

1
getattr/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
__pycache__

19
getattr/Kreis_getattr.py Normal file
View File

@@ -0,0 +1,19 @@
from math import pi as pi
class Kreis_getattr:
def __init__(self, radius):
self.radius = radius
self.operators ={
'durchmesser': lambda x: self.radius * 2,
'umfang': lambda x: self.durchmesser * pi,
'flaeche': lambda x: self.radius**2 *pi
}
def __getattr__(self, name):
if name not in self.operators:
raise TypeError(f'unbekannte Operation {name}')
return self.operators[name](0)