アブドゥルアジーズAlghofaily:
私はn人のユーザのスケジュールの入力は、私は新しいスケジュールを形成したい有していることを示している時間連合
これは、入力されました
[08:00-08:50' 、09:00-09:50' 、'10:00-10:50' 、'11:00-11:50' 、'11:00-12:15' 、'12:00-12:50' 、'12:00-13:15' 、'13:00-13:50' 、'14:00-15:15' 、'15:30-18:10' ]
出力は次のようにする必要があります
[08:00-08:50' 、09:00-09:50' 、'10:00-10:50' 、'11:00-13:50' 、'14:00-15:15' 、'15:30-18:10' ]
私がこれまで試してみました何これ
if start_currenttime < start_oldtime and end_currenttime >= start_oldtime:
start=start_currenttime
flag=1
if end_currenttime>end_oldtime:
end=end_currenttime
if start_currenttime >= start_oldtime and start_currenttime <= end_oldtime and end_currenttime > end_oldtime:
flag=1
end=end_currenttime
if flag:
return str(start)+"-"+str(end)
else: return "-1"
ジャマイカ:
これは、ループのための基本的に、あなたがそれを行うことができますどのように一つの方法です。
data = ['08:00-08:50', '09:00-09:50', '10:00-10:50', '11:00-11:50', '11:00-12:15', '12:00-12:50', '12:00-13:15', '13:00-13:50', '14:00-15:15', '15:30-18:10']
data_ = [interval.split('-') for interval in data]
interval_idx = 0
for i in data_:
if i[0] > data_[interval_idx][1]:
interval_idx += 1
data_[interval_idx] = i
else:
data_[interval_idx] = [data_[interval_idx][0], i[1]]
data_=['-'.join(interval) for interval in data_[:interval_idx+1]]
print(data_)
出力:
['08:00-08:50', '09:00-09:50', '10:00-10:50', '11:00-13:50', '14:00-15:15', '15:30-18:10']