Ich brauche Hilfe mit Get-Pass auf die if-Anweisung. Ich habe ein Problem mit der if-Anweisung, da ich versuche, zu bestehen, wenn ich versuche, die Werte mit drei Variablen zu vergleichen.Vergleichen drei Variablen auf if-Anweisung
start_time = '22:35'
current_time = '23:48'
stop_time = '00:00'
if current_time == start_time:
print "the program has started"
elif start_time != current_time < stop_time:
print "program is half way"
elif current_time > stop_time:
print "program has finished"
kann ich ohne Probleme auf jeder if-Anweisung übergeben, aber mein Problem ist, wenn ich die Variable start_time
mit dem Wert habe 22:35
, die sie nicht gleich current_time
Wert 23:48
ist. Also, wie kann ich mit den Werten zwischen start_time
und current_time
vergleichen, um zu sehen, ob es weniger als der Wert 00:00
von der Variablen stop_time
ist?
Ich möchte überprüfen, ob der Wert aus der Variablen stop_time
kleiner ist als current_time
und start_time
.
Stellen Sie sich vor, Sie sehen gerade das Fernsehprogramm, das in Ihrer aktuellen Zeit unter 22:35
gestartet wird. Sie sehen, was es weniger als vor dem Programm bei 00:00
fertig ist, also überprüfen Sie die Zeit später wieder vor der Endzeit 00:00
, es heißt es ist noch halb durch. Dann überprüfen Sie es später zu Ihrer aktuellen Zeit, die es nach als 00:00
ist, also es sagt, dass das Programm beendet ist.
Nun zu meinem Code, ich werde immer auf die elif current_time > stop_time:
weitergeben, wie ich immer die print "program has finished"
bekommen, die ich print "program is half way"
stattdessen haben sollte.
Wie kann man drei Werte zwischen den Variablen vergleichen start_time
und current_time
zu sehen, ob es kleiner als ist und prüfen, ob es kleiner der Wert 00:00
aus den Variablen stop_time
?
EDIT: Hier ist, was ich sich als String verwenden, wenn ich die Stunden und Minuten vom Datumsformat speziell für Jahr, Monat, Tag, Stunden, Minuten und Sekunden bin immer
start_date = str(stop_date[0]) #get start_date date format from database
stop_date = str(stop_date[1]) #get start_date date format from database
get_current_time = datetime.datetime.now().strftime('%H:%M')
get_start_time = time.strptime(start_date, '%Y%m%d%H%M%S')
start_time = time.strftime('%H:%M', get_start_time)
get_stop_time = time.strptime(stop_date, '%Y%m%d%H%M%S')
stop_time = time.strftime('%H:%M', get_stop_time)
current_time = str(get_current_time)
Sollten nicht alle diese Zeitwerte tatsächliche datetime Objekte oder time.time() Werte sein? – spicavigo
Wenn die Zeiten nur HH: MM sind und du die Tagesgrenze überschreitest, dann kannst du niemals sogar 2 Werte vergleichen – spicavigo