teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

コード修正

2018/04/07 12:39

投稿

arch_
arch_

スコア158

answer CHANGED
@@ -12,7 +12,7 @@
12
12
  end_summer = cal.monthcalendar(date.year, 11)
13
13
 
14
14
  start = dt.date(date.year, 3, sundays(start_summer)[1])
15
- end = dt.date(date.year, 11, sundays(start_summer)[0])
15
+ end = dt.date(date.year, 11, sundays(end_summer)[0])
16
16
 
17
17
  return ['winter', 'summer'][start <= date <= end]
18
18
 

1

コード修正

2018/04/07 12:39

投稿

arch_
arch_

スコア158

answer CHANGED
@@ -8,7 +8,6 @@
8
8
 
9
9
 
10
10
  def summer_or_winter(date):
11
- current_month = cal.monthcalendar(date.year, date.month)
12
11
  start_summer = cal.monthcalendar(date.year, 3)
13
12
  end_summer = cal.monthcalendar(date.year, 11)
14
13
 
@@ -19,4 +18,6 @@
19
18
 
20
19
  print(summer_or_winter(dt.date.today()))
21
20
  print(summer_or_winter(dt.date(2018, 12, 25)))
22
- ```
21
+ ```
22
+
23
+ モジュールcalendarを用いて、3月第2日曜日及び11月第1日曜日の日付を計算し、dateがその期間に含まれているかを計算しています。