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

回答編集履歴

2

追記

2017/09/06 15:35

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -17,4 +17,38 @@
17
17
  最低限の文法はしっかり勉強しましょう。また、正しい質問が出来るようにしましょう。
18
18
  - **コードブロックを用いていない**
19
19
  - **エラーの内容が書かれていない**
20
- - **仕様が曖昧、実行例がない**
20
+ - **仕様が曖昧、実行例がない**
21
+
22
+ ---
23
+ 動作するプログラムが完成したようなので追記。こんな風に書くかなぁ。
24
+ `is_leap_year`のネストを浅くするために、比較回数を犠牲にしています。
25
+ ```Python
26
+ def is_multiple(div, base):
27
+ return div % base == 0
28
+
29
+ def is_leap_year(year):
30
+ if is_multiple(year, 400):
31
+ return True
32
+ if is_multiple(year, 100):
33
+ return False
34
+ if is_multiple(year, 4):
35
+ return True
36
+ return False
37
+
38
+ def main():
39
+ year = int(input('>> '))
40
+ while year % 4 != 0:
41
+ year += 1
42
+
43
+ num_of_leap_year = 0
44
+ while num_of_leap_year < 20:
45
+ if is_leap_year(year):
46
+ print(year)
47
+ num_of_leap_year += 1
48
+ year += 4
49
+
50
+ if __name__ == '__main__':
51
+ main()
52
+ ```
53
+
54
+ テストはろくにしてないので、変な部分があるかもしれません。

1

修正

2017/09/06 15:35

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -15,7 +15,6 @@
15
15
  ---
16
16
  ああ、宿題の提出が近いんだな、と思いました。
17
17
  最低限の文法はしっかり勉強しましょう。また、正しい質問が出来るようにしましょう。
18
- - **Pythonのバージョンを書いていない** (3だろうけど)
19
18
  - **コードブロックを用いていない**
20
19
  - **エラーの内容が書かれていない**
21
20
  - **仕様が曖昧、実行例がない**