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

回答編集履歴

2

追記

2021/05/11 02:13

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -6,4 +6,18 @@
6
6
  これは次の誤りでしょうね。
7
7
  ```Python
8
8
  for n in range((end - start).days, 0):
9
- ```
9
+ ```
10
+
11
+ 追記
12
+ ---
13
+ datarangeを汎用的にするなら、startとendのどちらが古いか判定する必要があります。
14
+ ```Python
15
+ def daterange(start, end):
16
+ if end < start:
17
+ start, end = end, start
18
+
19
+ for n in range((end - start).days):
20
+ yield start + timedelta(n)
21
+ ```
22
+
23
+ 境界値については調整が必要です。仕様に合わせて修正して下さい。

1

修正

2021/05/11 02:13

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -1,9 +1,9 @@
1
1
  落ちるというか、ループが一周もしていないだけです。正常な動作です。
2
2
  > ```Python
3
- weekago = today - timedelta(days=6)
3
+ for n in range((end - start).days):
4
4
  > ```
5
5
 
6
6
  これは次の誤りでしょうね。
7
7
  ```Python
8
- weekago = today + timedelta(days=6)
8
+ for n in range((end - start).days, 0):
9
9
  ```