Seite 2 von 2

Re: Neulingsfrage: Variablen bei Script-Aufruf übergeben

Verfasst: Sonntag 26. Juni 2022, 14:45
von __deets__
Erstmal importiert man nicht lokal, gewoehn dir sowas erst gar nicht an. Und timedelta ist eine Klasse im Modul datetime. Du behandelst das aber als ob es ein Attribut der Klasse datetime aus dem Modul datetime waere. Das ist halt falsch.

Re: Neulingsfrage: Variablen bei Script-Aufruf übergeben

Verfasst: Montag 27. Juni 2022, 09:50
von dermaxem
ich habe es nun so gelöst:

Code: Alles auswählen

def vergleichen(now):
    global lastspray
    istzeit  = time()
    if istzeit > lastspray + (<vergleichswert>)  : #wert z.b. 10 Minuten
        # erlaubt
        print ("ok, die Differenz ist größer als der <Verglkeichswert>")
    else:
        # nicht erlaubt
        print ("nein, die Differenz ist kleiner als <Verglkeichswert> ")

Re: Neulingsfrage: Variablen bei Script-Aufruf übergeben

Verfasst: Montag 27. Juni 2022, 09:52
von __deets__
Man benutzt keine globalen Variablen. Du hast doch Argumente, warum kann lastspray nicht als Argument uebergeben werden? Und "vergleichen" ist ein doch sehr generischer Name. Was vergleicht der denn? Aepfel mit Orangen?

Wenn man mit time arbeitet, sollte man monotonic() benutzen, denn sonst ist nicht garantiert, dass die Zeit monoton fortschreitet, weil zB die Sommerzeit-Umstellung kommt. Allerdings ist das auch ein Problem mit datetime. Darum ist je nach Anwendung time.monotonic hier immer die bessere Wahl.

Re: Neulingsfrage: Variablen bei Script-Aufruf übergeben

Verfasst: Montag 27. Juni 2022, 10:15
von dermaxem
wie, wenn nicht via "global", übergibt man denn einer Funktion Werte aus einer anderen Funktion?

Re: Neulingsfrage: Variablen bei Script-Aufruf übergeben

Verfasst: Montag 27. Juni 2022, 10:35
von pillmuncher
dermaxem hat geschrieben: Montag 27. Juni 2022, 10:15 wie, wenn nicht via "global", übergibt man denn einer Funktion Werte aus einer anderen Funktion?
Als Argumente beim Aufruf der Funktion oder als Rückgabewert aus der Funktion.

Re: Neulingsfrage: Variablen bei Script-Aufruf übergeben

Verfasst: Montag 27. Juni 2022, 11:37
von __deets__
dermaxem hat geschrieben: Montag 27. Juni 2022, 10:15 wie, wenn nicht via "global", übergibt man denn einer Funktion Werte aus einer anderen Funktion?
Du hast doch sprichwoertlich ein anderes Argument an deine Funktion uebergeben. Warum ist das da moeglich, aber lastspray ist kein Argument? Wo ist da fuer dich der Unterschied?