我有存儲在詞典seasons
的month,day
下列元組:如何遍歷元組字典?
seasons = {
'S1': (
((1, 10),(5, 31))
),
'S2': (
((9, 1),(1, 9))
),
'S3': (
((6, 1),(9, 30))
)
}
我想在一個日期時間dt
位於該日期時間間隔檢查和分配名稱S1
,S2
或S3
,相應。
我試過這樣做,但start
和end
似乎是數字而不是元組。
def getSeason(dt):
season = None
for t, ranges in seasons.items():
for start, end in ranges:
if date(dt.year,start(0),start(1)) <= dt.date() <= date(dt.year,end(0),end(1)):
season = t
break
if season is not None:
break
return season
日期是毫無意義的,而不年。你應該存儲這些年。 –
@StevenRumbalski,OP只是檢查給定日期是否在一個季節(秋季,春季等)。沒有需要的一年。 如果OP包含年份,那麼使用datetime.date將是一個好主意。 – RagingRoosevelt
@StevenRumbalski:我知道如何處理日期。在我的情況下,我需要(月,日)對沒有幾年。韋爾,我知道我應該解決的任務...... – Dinosaurius