私は長い間懸命に考えてきましたが、これを解決できませんでした。すべてのシーケンスが特定の基準を満たしている場合の交差時間を計算しますか?
A = [(10:00、1)、(11:00、0)、(12:00、1)、(12:30、12:30)]スイッチの状態を記録する、 0)、...、(23:00、1)]#スイッチAが10:00にオン、11:00にオフなど
B = [(10:30、1)、11 :15、0)、(11:30、1)、(12:15、0)、...、(午後11時30分、0)]#同様
C = ...
(実際には、時間はPythonのtime.struct_timeの形式になっています)。
be [(time1、status1)、(time2、status2)...]です。リストには24時間以内のデータが含まれ、切り替えインスタンスのみが記録されます(したがって、隣接する「ステータス」は常に互いに反対です)。すべてのスイッチA、B、Cがオンのときの合計時間を計算したい。この一見単純な質問は、何か役に立つものを考え出すのに何日もかかりました。あなたの知恵を共有してください!
ただし、文字通りa_onとb_onとc_onという条件を記述すると、a、b、cがすべてオンになっても必ずしも成立しないため、格納された時間が離散的であるため動作しません。 – agriprop
私はここにあなたのポイントを参照してください。私はこれについて考えていたはずです!ありがとうございました – agriprop
入力として2つのスイッチのタイムラインを取り、タイムラインを返す関数を実装することで、これを単純化できます。そうすれば、任意の数のスイッチで動作するようにこの機能を拡張することができます。 – GeneralBecos