Wenn ich den Begriff kennen würde, würde ich ihn googlen.

Du hast eine Idee für ein Projekt?
Pad385
User
Beiträge: 39
Registriert: Dienstag 12. März 2019, 18:33

das mit den Reklas stimmt schon wenn alles schief geht fährt man zu einer rekla und nimmt dann eine weitere rekla auf..:/
nein wenn Kommission rekla lautet soll auch in der csv rekla stehen
das Skript funktioniert zur zeit wie es soll nur spiele ich auf den vorschlag von blackjack an mit dem datetime modul zu rechnen
Sirius3
User
Beiträge: 17737
Registriert: Sonntag 21. Oktober 2012, 17:20

Und ich spiele darauf an, dass kommission == 'rekla' und rekla == 'ja' immer konsistent sein müssen, damit die Texte, die Du erzeugst Sinn machen. Ergo, ist eine Angabe davon überflüssig.

Zeig doch mal, wie weit Du mit den Zeiten schon gekommen bist, erster Schritt wäre ja, Beginn und Ende mit datetime.datetime.strptime in ein DateTime-Objekt zu überführen.
Pad385
User
Beiträge: 39
Registriert: Dienstag 12. März 2019, 18:33

so in etwa ?

Code: Alles auswählen

    time_ende = datetime.strptime(ende, "%H:%M")
    time_start= datetime.strptime(start, "%H:%M")
ich habs verstanden da läuft was nicht richtig..
Sirius3
User
Beiträge: 17737
Registriert: Sonntag 21. Oktober 2012, 17:20

Das ist doch schon ein guter Anfang.
Pad385
User
Beiträge: 39
Registriert: Dienstag 12. März 2019, 18:33

kp wie das gehen soll

zeit = timedelta(time_ende) - timedelta(time_start)


und

time_start= datetime.strptime(start, "%H:%M")

geht auch nicht
Benutzeravatar
__blackjack__
User
Beiträge: 13068
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Pad385: Ähm, warum `timedelta()`? Du musst den Startzeitpunkt vom Endzeitpunkt abziehen. Und vielleicht vorher noch prüfen ob der Startzeitpunkt nicht nach dem Endzeitpunkt liegt. Benutzereingaben sollte man möglichst nicht trauen. Die geben sonst was ein. :-)
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Pad385
User
Beiträge: 39
Registriert: Dienstag 12. März 2019, 18:33

Code: Alles auswählen

#!/usr/bin/env python3
import csv
import time
import datetime

def main():
    auftraggeber = input('Auftraggeber (h/r/b) : ')
    if auftraggeber == 'h': auftraggeber = 'Hofmeister'
    if auftraggeber == 'r': auftraggeber = 'Röck'
    if auftraggeber == 'b': auftraggeber = 'Binsch'
    kommission = input('Kommission : ')
    if kommission == 'rekla':
        rekla_kommissionen = input('Kommissionen : ')
    else:
        rekla_kommissionen = ''
    ort = input('Ort : ')
    chef = input('Chef : ')
    rekla = input('Reklamation (ja/ ) : ')
    if rekla == 'ja':
        grund = input('Kommission, Begründung der Reklamationen : ')
    else:
        grund = ''
    start = input('Arbeitsbeginn : ')
    time_start= time.strptime(start, "%H:%M")
    ende = input('Arbeitsende : ')
    time_ende = time.strptime(ende, "%H:%M")
    #zeit = input('Arbeitszeit : ')
    zeit = time_ende - time_start
    pause = input('Pause : ')
    zeitpunkt = time.strftime('%d.%m.%Y__%H:%M:%S')
    eintrag = (
        f'Zeitpunkt des Eintrags: {zeitpunkt}   {auftraggeber}\n'
        f'Du warst heute mit {chef} in {ort} bei der Kommission {kommission}.\n'
        f'Du hast um {start} Uhr angefangen und um {ende} Uhr Feierabend'
        f' gemacht, dazwischen hast du {pause} Stunde(n) Pause gemacht.\n'
        f'Du hast {zeit} Stunden gearbeitet\n\n'
    )
    rekla_eintrag = (
        f'Zeitpunkt des Eintrags: {zeitpunkt}   {auftraggeber}\n'
        f'Du warst heute mit {chef} in {ort} bei der Kommission {kommission}.\n'
        f'Du hast {zeit} Stunden gearbeitet\nReklamationen: {grund}\n\n'
    )
    list_eintrag = [kommission, ort, zeitpunkt, zeit, pause, chef]
    rekla_tag_eintrag = (
        f'Zeitpunkt des Eintrags: {zeitpunkt}   {auftraggeber}\n'
        f'Du warst heute mit {chef} Reklamationen im {ort} erledigen.\n'
        f'Du hast um {start} Uhr angefangen und um {ende} Uhr Feierabend'
        f' gemacht, dazwischen hast du {pause} Stunde(n) Pause gemacht.\n'
        f'Du hast {zeit} Stunden gearbeitet,'
        f' du warst wieder bei Kommission {rekla_kommissionen}\n'
        f'Reklamationen: {grund}\n\n'
    )
    test = input('Korrekte Eingaben? (JA) : ')
    if test == 'JA':
        if kommission == 'rekla':
            with open('Arbeitszeitnachweis.txt', 'a', encoding='utf-8') as file:
                file.write(rekla_tag_eintrag)
        else:
            with open('Arbeitszeitnachweis.txt', 'a', encoding='utf-8') as file:
                file.write(eintrag)
        with open('Arbeitsstunden.csv', 'a', encoding='utf-8') as csv_file:
            writer = csv.writer(csv_file, delimiter=';')
            writer.writerow(list_eintrag)
        if rekla == 'ja':
            with open('Reklamationen.txt', 'a', encoding='utf-8') as file:
                file.write(rekla_eintrag)
    else:
        exit()

if __name__ == '__main__':
    main()

### Kommentare ###
# Verschiedene Touren

folgender Fehler:
Arbeitsende : 18:00
Traceback (most recent call last):
File "./arbeit.py", line 71, in <module>
main()
File "./arbeit.py", line 28, in main
zeit = time_ende - time_start
TypeError: unsupported operand type(s) for -: 'time.struct_time' and 'time.struct_time'


wenn ich time mir datetime ersetzte dann kommt folgender fehler:
Arbeitsbeginn : 6:00
Traceback (most recent call last):
File "./arbeit.py", line 71, in <module>
main()
File "./arbeit.py", line 24, in main
time_start= datetime.strptime(start, "%H:%M")
AttributeError: module 'datetime' has no attribute 'strptime'

aber eigentlich muss es mit timeobjekten auch funktionieren hab ja kein datum zum rechnen wie kann ich jetzt mit zwei timeobjekten rechnen ?!
Sirius3
User
Beiträge: 17737
Registriert: Sonntag 21. Oktober 2012, 17:20

Statt wild zu Raten, solltest Du einfach man in die Dokumentation schauen, wie man strptime bei datetime aufruft. Und nein, Zeitdifferenzen brauchen immer datetime-Objekte, time-Objekte reichen nicht.
Benutzeravatar
__blackjack__
User
Beiträge: 13068
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Pad385: Zum Rechnen mit Zeitangaben ist das `datetime`-Modul da, mit den Sachen die `time` anbietet, geht das nur bedingt. `time` ist grösstenteils einfach nur eine recht dünne Schicht über die Funktionen die C-Programmierern zur Verfügung stehen. Wenn da zusammengesetzte Werte zurückgegeben werden, dann sind das reine Datenobjekte ohne weiteres verhahlten. Soweit ich das sehe alles `collections.namedtuple()`, welche die C-Strukturen abbilden.

Die zweite Ausnahme bekommst Du weil Du versuchst `strptime()` auf dem `datetime`-Modul aufzurufen statt auf dem `datetime`-Datentypen. Im `datetime`-Modul gibt es einen Datentypen der auch `datetime` heisst – *der* hat eine statische `strptime()`-Methode.

Mit `time`-Objekten kann man nicht rechnen. Das geht nur mit `datetime`- und `timedelta`-Objekten, also mit konkreten Zeitpunkten.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Pad385
User
Beiträge: 39
Registriert: Dienstag 12. März 2019, 18:33

Code: Alles auswählen

#!/usr/bin/env python3
import csv
import time
from datetime import datetime

def main():
    auftraggeber = input('Auftraggeber (h/r/b) : ')
    if auftraggeber == 'h': auftraggeber = 'Hofmeister'
    if auftraggeber == 'r': auftraggeber = 'Röck'
    if auftraggeber == 'b': auftraggeber = 'Binsch'
    kommission = input('Kommission : ')
    if kommission == 'rekla':
        rekla_kommissionen = input('Kommissionen : ')
    else:
        rekla_kommissionen = ''
    ort = input('Ort : ')
    chef = input('Chef : ')
    rekla = input('Reklamation (ja/ ) : ')
    if rekla == 'ja':
        grund = input('Kommission, Begründung der Reklamationen : ')
    else:
        grund = ''
    start = input('Arbeitsbeginn : ')
    time_start= datetime.strptime(start, "%H:%M")
    ende = input('Arbeitsende : ')
    time_ende = datetime.strptime(ende, "%H:%M")
    if time_ende < time_start:
        print('Value_Error')
        time.sleep(3)
        exit()
    time_zeit = time_ende - time_start
    zeit = str(time_zeit)[:-3]
    pause = input('Pause : ')
    zeitpunkt = time.strftime('%d.%m.%Y__%H:%M:%S')
    eintrag = (
        f'Zeitpunkt des Eintrags: {zeitpunkt}   {auftraggeber}\n'
        f'Du warst heute mit {chef} in {ort} bei der Kommission {kommission}.\n'
        f'Du hast um {start} Uhr angefangen und um {ende} Uhr Feierabend'
        f' gemacht, dazwischen hast du {pause} Stunde(n) Pause gemacht.\n'
        f'Du hast {zeit} Stunden gearbeitet\n\n'
    )
    rekla_eintrag = (
        f'Zeitpunkt des Eintrags: {zeitpunkt}   {auftraggeber}\n'
        f'Du warst heute mit {chef} in {ort} bei der Kommission {kommission}.\n'
        f'Du hast {zeit} Stunden gearbeitet\nReklamationen: {grund}\n\n'
    )
    list_eintrag = [kommission, ort, zeitpunkt, zeit, pause, chef]
    rekla_tag_eintrag = (
        f'Zeitpunkt des Eintrags: {zeitpunkt}   {auftraggeber}\n'
        f'Du warst heute mit {chef} Reklamationen im {ort} erledigen.\n'
        f'Du hast um {start} Uhr angefangen und um {ende} Uhr Feierabend'
        f' gemacht, dazwischen hast du {pause} Stunde(n) Pause gemacht.\n'
        f'Du hast {zeit} Stunden gearbeitet,'
        f' du warst wieder bei Kommission {rekla_kommissionen}\n'
        f'Reklamationen: {grund}\n\n'
    )
    test = input('Korrekte Eingaben? (JA) : ')
    if test == 'JA':
        if kommission == 'rekla':
            with open('Arbeitszeitnachweis.txt', 'a', encoding='utf-8') as file:
                file.write(rekla_tag_eintrag)
        else:
            with open('Arbeitszeitnachweis.txt', 'a', encoding='utf-8') as file:
                file.write(eintrag)
        with open('Arbeitsstunden.csv', 'a', encoding='utf-8') as csv_file:
            writer = csv.writer(csv_file, delimiter=';')
            writer.writerow(list_eintrag)
        if rekla == 'ja':
            with open('Reklamationen.txt', 'a', encoding='utf-8') as file:
                file.write(rekla_eintrag)
    else:
        exit()

if __name__ == '__main__':
    main()

### Kommentare ###
# Verschiedene Touren

gut das geht schonmal nur wie formatiere ich das ganze in folgendes Format: z.B. 10,25 d.h. 10Stunden und 15Minuten
auch das wäre gelöst habt ihr da vielleicht ne bessere methode als:
time_zeit = time_ende - time_start
zeit = str(time_zeit)[:-3]

in meiner csv Datei brauche ich zwingend 10,25 als format
Pad385
User
Beiträge: 39
Registriert: Dienstag 12. März 2019, 18:33

Code: Alles auswählen

#!/usr/bin/env python3
import csv
import time
from datetime import datetime

def main():
    auftraggeber = input('Auftraggeber (h/r/b) : ')
    if auftraggeber == 'h': auftraggeber = 'Hofmeister'
    if auftraggeber == 'r': auftraggeber = 'Röck'
    if auftraggeber == 'b': auftraggeber = 'Binsch'
    kommission = input('Kommission : ')
    if kommission == 'rekla':
        rekla_kommissionen = input('Kommissionen : ')
    else:
        rekla_kommissionen = ''
    ort = input('Ort : ')
    chef = input('Chef : ')
    rekla = input('Reklamation (ja/ ) : ')
    if rekla == 'ja':
        grund = input('Kommission, Begründung der Reklamationen : ')
    else:
        grund = ''
    start = input('Arbeitsbeginn : ')
    time_start = datetime.strptime(start, "%H:%M")
    ende = input('Arbeitsende : ')
    time_ende = datetime.strptime(ende, "%H:%M")
    if time_ende < time_start:
        print('Value_Error')
        time.sleep(3)
        exit()
    time_zeit = time_ende - time_start
    time_zeit = str(time_zeit)[:-3]
    #zeit = datetime.strptime(time_zeit, "%H,%M")
    pause = input('Pause : ')
    zeitpunkt = time.strftime('%d.%m.%Y__%H:%M:%S')
    eintrag = (
        f'Zeitpunkt des Eintrags: {zeitpunkt}   {auftraggeber}\n'
        f'Du warst heute mit {chef} in {ort} bei der Kommission {kommission}.\n'
        f'Du hast um {start} Uhr angefangen und um {ende} Uhr Feierabend'
        f' gemacht, dazwischen hast du {pause} Stunde(n) Pause gemacht.\n'
        f'Du hast {time_zeit} Stunden gearbeitet\n\n'
    )
    rekla_eintrag = (
        f'Zeitpunkt des Eintrags: {zeitpunkt}   {auftraggeber}\n'
        f'Du warst heute mit {chef} in {ort} bei der Kommission {kommission}.\n'
        f'Du hast {time_zeit} Stunden gearbeitet\nReklamationen: {grund}\n\n'
    )
    list_eintrag = [kommission, ort, zeitpunkt, zeit, pause, chef]
    rekla_tag_eintrag = (
        f'Zeitpunkt des Eintrags: {zeitpunkt}   {auftraggeber}\n'
        f'Du warst heute mit {chef} Reklamationen im {ort} erledigen.\n'
        f'Du hast um {start} Uhr angefangen und um {ende} Uhr Feierabend'
        f' gemacht, dazwischen hast du {pause} Stunde(n) Pause gemacht.\n'
        f'Du hast {time_zeit} Stunden gearbeitet,'
        f' du warst wieder bei Kommission {rekla_kommissionen}\n'
        f'Reklamationen: {grund}\n\n'
    )
    test = input('Korrekte Eingaben? (JA) : ')
    if test == 'JA':
        if kommission == 'rekla':
            with open('Arbeitszeitnachweis.txt', 'a', encoding='utf-8') as file:
                file.write(rekla_tag_eintrag)
        else:
            with open('Arbeitszeitnachweis.txt', 'a', encoding='utf-8') as file:
                file.write(eintrag)
        with open('Arbeitsstunden.csv', 'a', encoding='utf-8') as csv_file:
            writer = csv.writer(csv_file, delimiter=';')
            writer.writerow(list_eintrag)
        if rekla == 'ja':
            with open('Reklamationen.txt', 'a', encoding='utf-8') as file:
                file.write(rekla_eintrag)
    else:
        exit()

if __name__ == '__main__':
    main()

### Kommentare ###
# Verschiedene Touren

so habe ich mir das vorgestellt nur geht das natürlich nicht

und so geht's auch nicht: zeit = float(time_zeit)

wie wandle ich das timedelta objekt 10:15 in eine Dezimalzahl 10,25 um?

time_zeit = time_ende - time_start
time_zeit = str(time_zeit)[:-3]
h, m = time_zeit.split(':')
zeit = "{0},{1}".format(h,m)
schonmal ein schritt weiter nur wie rechne ich das jetzt richtig um das nach dem Komma die Dezimalzahl der Minuten steht und nicht die Minuten an sich?
Zuletzt geändert von Pad385 am Mittwoch 17. April 2019, 10:41, insgesamt 1-mal geändert.
__deets__
User
Beiträge: 14522
Registriert: Mittwoch 14. Oktober 2015, 14:29

Das timedelta-Objekt hat Attribute. Die kannst du benutzen. Und aus den Attributen fuer Minuten und Sekunden und string-formatting zB deine gewuenschte Darstellung erzeugen.
Sirius3
User
Beiträge: 17737
Registriert: Sonntag 21. Oktober 2012, 17:20

Eine etwas sinnvollere Information als `Value_Error` bei falschen Zeiten wäre gut. `exit` sollte in einem normalen Programm nicht vorkommen (außer man will einen Exitcode != 0), ein `return` reicht völlig. Vor allem das `else: exit()` ganz zu Schluß ist unsinnig.
Die String-Darstellung eines timedelta-Objekts ist meiner Meinung nach, selten zu gebrauchen. Du mußt aus time_zeit (was für ein Name) die Sekunden nehmen, und selbst in Stunden und Minuten umrechnen (divmod). Die Pause muß von der Arbeitszeit noch abgezogen werden.
Pad385
User
Beiträge: 39
Registriert: Dienstag 12. März 2019, 18:33

ich habe keine Ahnung was du mit return machen willst bzw hab ich keine Ahnung was return macht ich will erstmal das das script läuft das exit am ende soll das script beenden wenn beim test = input was anderes eingegeben wird als 'JA'
__deets__
User
Beiträge: 14522
Registriert: Mittwoch 14. Oktober 2015, 14:29

Und return beendet main, und da danach nix mehr passiert beendet sich das Programm. Du erreichst also dein Ziel UND machst etwas richtig. Muss man aber natuerlich nicht tun 🤷‍♂️
Pad385
User
Beiträge: 39
Registriert: Dienstag 12. März 2019, 18:33

Code: Alles auswählen

    start = input('Arbeitsbeginn : ')
    time_start = datetime.strptime(start, "%H:%M")
    ende = input('Arbeitsende : ')
    time_ende = datetime.strptime(ende, "%H:%M")
    if time_ende < time_start:
        print('Value_Error')
        time.sleep(3)
        return
    pause = input('Pause : ')
    time_pause = datetime.strptime(pause, "%H:%M")
    time_zeit = time_ende - time_start - pause
    sekunden = timedelta.total_seconds(time_zeit)
    minuten = time_zeit / 60
    stunden = minuten / 60
so nur was bringt mir das ich habe doch jetzt trotzdem nur die stunden und Minuten nur halt getrennt also wie mache ich jetzt aus der variable Minuten eine Dezimalzahl mit stunden und Minuten im moment bekomme ich ja dann am ende bei wert 10:45 das Ergebnis 10,45
wenn ich
Minuten = time_zeit / 60 / 60
stunden = minuten / 60
und das ganze zusammensetzte kommt ja z.B. 10,0,75 raus
Benutzeravatar
__blackjack__
User
Beiträge: 13068
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Pad385: Dann rechne das aus den Gesamtsekunden aus. Die einfach mal (60 * 60) rechnen, als Zeichenkette mit zwei Nachkommastellen formatieren (`format()`) und da dann den Dezimalpunkt durch ein Dezimalkomma ersetzen und Du hast was Du brauchst.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Pad385
User
Beiträge: 39
Registriert: Dienstag 12. März 2019, 18:33

Code: Alles auswählen

#!/usr/bin/env python3
import csv
import time
from datetime import datetime, timedelta

def main():
    auftraggeber = input('Auftraggeber (h/r/b) : ')
    if auftraggeber == 'h': auftraggeber = 'Hofmeister'
    if auftraggeber == 'r': auftraggeber = 'Röck'
    if auftraggeber == 'b': auftraggeber = 'Binsch'
    kommission = input('Kommission : ')
    if kommission == 'rekla':
        rekla_kommissionen = input('Kommissionen : ')
    else:
        rekla_kommissionen = ''
    ort = input('Ort : ')
    chef = input('Chef : ')
    rekla = input('Reklamation (ja/ ) : ')
    if rekla == 'ja':
        grund = input('Kommission, Begründung der Reklamationen : ')
    else:
        grund = ''
    start = input('Arbeitsbeginn : ')
    obj_start = datetime.strptime(start, "%H:%M")
    ende = input('Arbeitsende : ')
    obj_ende = datetime.strptime(ende, "%H:%M")
    if obj_ende < obj_start:
        print('Value_Error')
        time.sleep(3)
        return
    pause = input('Pause : ')
    obj_pause = datetime.strptime(pause, "%H:%M")
    obj_zeit = obj_ende - obj_start - obj_pause
    sekunden = timedelta.total_seconds(obj_zeit)
    zeit = sekunden / 60 / 60
    zeitpunkt = time.strftime('%d.%m.%Y__%H:%M:%S')
    str_zeit = str(obj_zeit)[:-3]
kannst mir noch sagen wieso er in obj_zeit ein fehler ausgibt?
Arbeitsbeginn : 6:15
Arbeitsende : 18:00
Pause : 1:00
Traceback (most recent call last):
File "./arbeit.py", line 78, in <module>
main()
File "./arbeit.py", line 33, in main
obj_zeit = obj_ende - obj_start - obj_pause
TypeError: unsupported operand type(s) for -: 'datetime.timedelta' and 'datetime.datetime'
Benutzeravatar
__blackjack__
User
Beiträge: 13068
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Pad385: Na da steht doch da: Du versucht von einem `timedelta`-Objekt ein `datetime`-Objekt abzuziehen, was verständlicherweise nicht geht. Was soll denn dabei heraus kommen? Wenn Du zum Beispiel von 10 Stunden und 45 Minuten den 01.01.1900 um 1 Uhr nachts abziehst, was sollte da ein sinnvolles Ergebnis sein?

Überlege mal was von diesen Werten ein Zeitpunkt und was eine Zeitspanne ist, und vergleiche das mit den tatsächlichen Datentypen die Du für die Werte verwendest.

Warum hast Du vor einige Namen diesen sinnfreien `obj_*`-Präfix gesetzt? In Python ist *alles* was man an einen Namen binden kann ein Objekt. Das müsstest Du dann also bei jedem Namen davor setzten. Oder eben bei keinem, denn dieser Präfix bietet absolut keinen Mehrwert.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Pad385
User
Beiträge: 39
Registriert: Dienstag 12. März 2019, 18:33

Code: Alles auswählen

#!/usr/bin/env python3
import csv
import time
from datetime import datetime, timedelta

def main():
    auftraggeber = input('Auftraggeber (h/r/b) : ')
    if auftraggeber == 'h': auftraggeber = 'Hofmeister'
    if auftraggeber == 'r': auftraggeber = 'Röck'
    if auftraggeber == 'b': auftraggeber = 'Binsch'
    kommission = input('Kommission : ')
    if kommission == 'rekla':
        rekla_kommissionen = input('Kommissionen : ')
    else:
        rekla_kommissionen = ''
    ort = input('Ort : ')
    chef = input('Chef : ')
    rekla = input('Reklamation (ja/ ) : ')
    if rekla == 'ja':
        grund = input('Kommission, Begründung der Reklamationen : ')
    else:
        grund = ''
    start = input('Arbeitsbeginn : ')
    timeobj_start = datetime.strptime(start, "%H:%M")
    ende = input('Arbeitsende : ')
    timeobj_ende = datetime.strptime(ende, "%H:%M")
    if timeobj_ende < timeobj_start:
        print('Value_Error')
        time.sleep(3)
        return
    pause = input('Pause : ')
    timeobj_pause = datetime.strptime(pause, "%H:%M")
    timeobj_zeit = timeobj_ende - timeobj_start - timeobj_pause
    sekunden = timedelta.total_seconds(timeobj_zeit)
    zeit = sekunden / 60 / 60
    format_zeit = '{%H,%M}'.format(zeit)
    zeitpunkt = time.strftime('%d.%m.%Y__%H:%M:%S')
    str_zeit = str(timeobj_zeit)[:-3]

aber
start = input('Arbeitsbeginn : ')
timeobj_start = datetime.strptime(start, "%H:%M")
ende = input('Arbeitsende : ')
timeobj_ende = datetime.strptime(ende, "%H:%M")
pause = input('Pause : ')
timeobj_pause = datetime.strptime(pause, "%H:%M")

sind doch alles die gleichen Objekte?! check ich nicht da steht überall datetime ich habe ja mit keinen der werte gerechnet und ausgerechnet wurden die auch nicht
start ist ein zeitpunkt genau wie ende und pause ist eine Zeitspanne

das mit dem timeeobj habe ich gemacht weil Sirius in einem vorherigen beitrag über die namensvergebung geplänkert hat :)
Antworten