ich starre jetzt schon sehr lange den Bildschirm an auf der Suche nach einer Lösung für mein Problem, auch langes Googlen und nach Tutorials suchen hat mir noch nicht das Richtige geliefert.
Ich habe eine Liste von Zeitpunkten und eine Liste in gleicher Länge mit Werten von 0 bis 17, die stellvertretend für die Priorirät dieser Zeitpunkte stehen. ( 0 = höchste Priorität, 17 = am besten gar nicht verwenden)
Es geht um Börsenstrompreise und wann ein Fahrzeug laden sollte und wann nicht.
Es wird dann eine Liste für jedes Auto erstellt, die "Ladestunden" heißt mit 0 und 1 für jeden Zeitpunkt. Das ganze findet in einer Klasse statt, deshalb überall "self".
Hier mein bisheriger Code-Ausschnitt dazu:
Code: Alles auswählen
def wähleLadestunden(self):
"""Diese Funktion weist jedem Auto die Stunden zu, zu denen es laden
kann entsprechend der Priorisierung der günstigsten Stunden. Wenn
genügend Stunden zum Aufladen der verbrauchten Energie gefunden wurde,
wird keine weitere Ladestunde hinzugefügt. Es soll die Stunde mit dem
niedrigsten Wert aus der Liste Prio gewählt werden. Dieser darf bei der
Auswahl der nächsten Stunde nicht nochmal wählbar sein.
"""
self.Ladestunden = [] # Liste, ob ein Fz zu dieser Zeit lädt
for p in Prio:
if p < 10:
if self.Ladedauer > 0:
self.Ladestunden.append(1)
self.Ladedauer -= 25
else:
self.Ladestunden.append(0)
else:
self.Ladestunden.append(0)
return self.Ladestunden
Wenn ein Zeitpunkt ausgewählt wurde, wird der Zeitraum entsprechend von der benötigten Ladedauer des Fahrzeugs abgezogen, deshalb -25.
Das sind alle relevanten Hintergründe. Vielleicht hat jemand eine Idee oder einen Link zu einem ähnlichen Problem.
Danke im Voraus!