回答編集履歴

4

表現の変更

2017/09/17 12:12

投稿

退会済みユーザー
test CHANGED
@@ -82,7 +82,7 @@
82
82
 
83
83
 
84
84
 
85
- ちなみに、LouiS0616 さんの回答は「関数には 1 つのことしかやらせない!」、YouheiSakurai さんの隠れコンセプトは「yield 使ってみたかった」だと思われます。
85
+ ちなみに、LouiS0616 さんの回答は「関数には 1 つのことしかやらせない!」、YouheiSakurai さんの隠れコンセプトは「yield 使ってみたかった^^」だと思われます。
86
86
 
87
87
 
88
88
 

3

追記

2017/09/17 12:12

投稿

退会済みユーザー
test CHANGED
@@ -15,3 +15,79 @@
15
15
 
16
16
 
17
17
  宿題、がんばってw
18
+
19
+
20
+
21
+ **追記**
22
+
23
+ 幾つか回答がついていて、ちょうどよいので追記します。
24
+
25
+ まず、私の回答のサンプルコードですが、以下となります。
26
+
27
+ ```python
28
+
29
+ def leapyear(year):
30
+
31
+ print('start:',year)
32
+
33
+ n = 1
34
+
35
+ while year % 4 != 0 :
36
+
37
+ year += 1
38
+
39
+ while n <= 20 :
40
+
41
+ if year % 100 != 0 or year % 400 == 0:
42
+
43
+ print(n,year)
44
+
45
+ n += 1
46
+
47
+ year += 4
48
+
49
+ leapyear(1990)
50
+
51
+ ```
52
+
53
+ 最初の`while`で4で割り切れるまで`year`を増やし、2番目の`while`で20個表示します。
54
+
55
+ Python は始めて2ヶ月なので、ちょっと書き方が Python っぽくないかもしれませんw
56
+
57
+
58
+
59
+ で、追記の本題ですが、うるう年ってコンピュータで扱える条件が独立して 2 つあるんです。
60
+
61
+
62
+
63
+ 1,4で割り切れればうるう年、だけど100で割り切れるときは飛ばす。ただし400で割り切れれば、うるう年!
64
+
65
+ 2,2月29日がある。
66
+
67
+
68
+
69
+ 私のアプローチは 1 で、YouheiSakurai さんのが 2 ですね。
70
+
71
+ これは、作り出される結果に対しての考え方の違いでもあります。
72
+
73
+
74
+
75
+ 1,法則に従って、うるう年を**作り出す**
76
+
77
+ 2,順次、年を検証して、条件合致したものを**抽出する**
78
+
79
+
80
+
81
+ こうしてみると、結構違っている事が分かり、面白いと思います。
82
+
83
+
84
+
85
+ ちなみに、LouiS0616 さんの回答は「関数には 1 つのことしかやらせない!」、YouheiSakurai さんの隠れコンセプトは「yield 使ってみたかったw」だと思われます。
86
+
87
+
88
+
89
+ プログラムって入力と出力を紐付けるものですが、人によって色々書けるので、メッセージを読み取ると興味を持って読み取ることができ、学習がすすむと思います。
90
+
91
+
92
+
93
+ がんばってくださいね^^

2

修正

2017/09/07 00:43

投稿

退会済みユーザー
test CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
 
6
6
 
7
- また、year を 1 づつ足していますが、4 で割れるまで足したら、あとは 4 づつ足すと効率的です。
7
+ また、year を 1 づつ足そうとしていますが、4 で割れるまで足したら、あとは 4 づつ足すと効率的です。
8
8
 
9
9
  それと、上記を使えば、うるう年の条件は
10
10
 

1

修正

2017/09/06 10:45

投稿

退会済みユーザー
test CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
 
6
6
 
7
- また、n を 1 づつ足していますが、4 で割れるまで足したら、あとは 4 づつ足すと効率的です。
7
+ また、year を 1 づつ足していますが、4 で割れるまで足したら、あとは 4 づつ足すと効率的です。
8
8
 
9
9
  それと、上記を使えば、うるう年の条件は
10
10