我一直在努力思考很久,但無法解決這個問題。考慮以下隨時間推移的序列,其記錄開關的狀態:當所有的序列滿足一定的標準時計算時間交集?
A = [(10:00,1),(11:00,0),(12:00,1),(12:30, 0),...,(23:00,1)]#開關A在10:00開啓,在11:00關閉等等
B = [(10:30,1),(11 :15,0),(11:30,1),(12:15,0),...,(23: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 2012-04-02 12:37:21
好的,我在這裏看到你的觀點。我應該想到這個!謝謝 – agriprop 2012-04-02 12:39:56
您可以通過實現一個函數來簡化這個過程,該函數將輸入兩個切換時間軸並返回一個時間軸。這樣你可以擴展這個功能來處理任何數量的開關。 – GeneralBecos 2012-04-02 16:23:26