Seite 1 von 1

Value alle x Sekunden erhöhen/reduzieren

Verfasst: Sonntag 20. September 2020, 17:15
von hello1996
Hallo!

Ich möchte eine Schleife umsetzen, in der ein gegebener Wert (Anzahl freier Parklücken) alle 10 Sekunden um 1 erhöht und alle 25 Sekunden um 2 gesenkt wird.

Beispiel: Der Parkplatz Rathaus hat zum Startpunkt 2 freie Plätze zur Verfügung, nach 10 Sekunden erhöhen diese sich auf 3, nach 20 Sekunden auf 4, bei 25 Sekunden sind es dann aber wieder nur noch 2 freie Plätze (-2) usw.

Wie kann ich das ganze lösen? Mein Ansatz sieht wie folgt aus:

Code: Alles auswählen

spotsRathaus = 2

def printit():
  threading.Timer(10.0, printit).start()
  print ("spotsRathaus = ", str(spotsRathaus + 1))
printit()
  
def printit():
  threading.Timer(25.0, printit).start()
  print ("spotsRathaus = ", str((spotsRathaus + 1) - 2))
printit()

Re: Value alle x Sekunden erhöhen/reduzieren

Verfasst: Sonntag 20. September 2020, 18:04
von __deets__
Du musst doch nur die verflossene Zeit messen & durch 25 bzw 10 teilen (ganzzahlig), und das Ergebnis mit dem entsprechenden Faktor multiplizieren.

Re: Value alle x Sekunden erhöhen/reduzieren

Verfasst: Sonntag 20. September 2020, 18:20
von __blackjack__
Und natürlich noch berücksichtigen das zumindest in der realen Welt Parkplätze nicht negativ sein können und auch nicht unendlich gross. :-)

Re: Value alle x Sekunden erhöhen/reduzieren

Verfasst: Sonntag 20. September 2020, 19:08
von __deets__
Kleinigkeiten. Das mittelt sich raus!

Re: Value alle x Sekunden erhöhen/reduzieren

Verfasst: Dienstag 22. September 2020, 19:29
von DeaD_EyE
Soll das eine Simulation werden oder möchtest du das einfach ausrechnen?
Ich hätte jetzt auf Simulation getippt.

Re: Value alle x Sekunden erhöhen/reduzieren

Verfasst: Dienstag 22. September 2020, 19:45
von __blackjack__
Anschlussfragen: Falls Simulation, muss das dann zwingend in Echtzeit laufen? Ist `simpy` bekannt?