Um den Code aus dem Buch IT für Anfänger auszuprobieren haben Sie 2 Möglichkeiten, erste klicken Sie auf den Link, dort ist er bereits hinterlegt:
https://www.online-python.com/rJIC2RcFkK
Die zweite Möglichkeit ist, Sie nehmen den Code und nutzen ein fertig eingerichtetes System wo Sie den Code verwenden können.
Ich rate Ihnen zu der ersten Möglichkeit, da die Anfänger freundlicher ist.
import csv
from datetime import datetime
def start_work():
return {'Start Time': datetime.now()}
def end_work(work_entry):
work_entry['End Time'] = datetime.now()
return work_entry
def calculate_work_duration(work_entry):
start_time = work_entry.get('Start Time')
end_time = work_entry.get('End Time')
if start_time and end_time:
duration = end_time - start_time
return duration
return None
if __name__ == "__main__":
employee_name = input("Geben Sie Ihren Namen ein: ")
work_entry = {}
while True:
action = input("Möchten Sie die Arbeitszeit starten oder beenden? (start/end/exit): ").strip().lower()
if action == 'start':
work_entry = start_work()
print(f"Arbeitszeit für {employee_name} gestartet um {work_entry['Start Time']:%H:%M:%S} am {work_entry['Start Time']:%d.%m.%Y}")
elif action == 'end':
if 'Start Time' not in work_entry:
print("Fehler: Arbeitszeit wurde noch nicht gestartet.")
continue
work_entry = end_work(work_entry)
duration = calculate_work_duration(work_entry)
if duration:
hours, remainder = divmod(duration.seconds, 3600)
minutes, seconds = divmod(remainder, 60)
print(f"Arbeitszeit für {employee_name} beendet um {work_entry['End Time']:%H:%M:%S} am {work_entry['End Time']:%d.%m.%Y}")
print(f"Gesamte Arbeitszeit: {hours} Stunden, {minutes} Minuten, {seconds} Sekunden")
else:
print("Fehler bei der Berechnung der Arbeitszeit.")
elif action == 'exit':
print("Programm wird beendet.")
break
else:
print("Ungültige Aktion. Bitte 'start', 'end' oder 'exit' eingeben.")