回答編集履歴

4

追記

2018/09/30 15:52

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -35,3 +35,7 @@
35
35
  print(1)
36
36
 
37
37
  ```
38
+
39
+
40
+
41
+ ただし後者の場合、入力として1が与えられたときは期待通りに動作しません。

3

修正

2018/09/30 15:52

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -1,6 +1,8 @@
1
1
  何回もcollatz関数を呼ぶのは無駄なので、私ならこう書きます。
2
2
 
3
3
  ```Python
4
+
5
+ print(number)
4
6
 
5
7
  while number != 1:
6
8
 
@@ -18,20 +20,18 @@
18
20
 
19
21
  while True:
20
22
 
23
+ print(number)
24
+
21
25
  number = collatz(number)
22
-
23
- print(number)
24
26
 
25
27
 
26
28
 
27
29
  if number == 1:
28
30
 
29
- break
31
+ break
32
+
33
+
34
+
35
+ print(1)
30
36
 
31
37
  ```
32
-
33
-
34
-
35
- ただしどちらの場合も、入力として1を与えられたときは要求と少し異なる動作をします。
36
-
37
- 気になる場合は前以てif文で避けてやれば良いです。

2

修正

2018/09/30 15:49

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -7,10 +7,6 @@
7
7
  number = collatz(number)
8
8
 
9
9
  print(number)
10
-
11
-
12
-
13
- print(1)
14
10
 
15
11
  ```
16
12
 
@@ -36,6 +32,6 @@
36
32
 
37
33
 
38
34
 
39
- ただし後者の場合、入力として1を与えられたときに無駄な動作を見せます。
35
+ ただしどちらの場合、入力として1を与えられたときは要求と少し異動作をます。
40
36
 
41
37
  気になる場合は前以てif文で避けてやれば良いです。

1

追記

2018/09/30 15:47

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -1,4 +1,22 @@
1
1
  何回もcollatz関数を呼ぶのは無駄なので、私ならこう書きます。
2
+
3
+ ```Python
4
+
5
+ while number != 1:
6
+
7
+ number = collatz(number)
8
+
9
+ print(number)
10
+
11
+
12
+
13
+ print(1)
14
+
15
+ ```
16
+
17
+
18
+
19
+ あるいは次のように無限ループにします。
2
20
 
3
21
  ```Python
4
22
 
@@ -12,6 +30,12 @@
12
30
 
13
31
  if number == 1:
14
32
 
15
- break
33
+ break
16
34
 
17
35
  ```
36
+
37
+
38
+
39
+ ただし後者の場合、入力として1を与えられたときに無駄な動作を見せます。
40
+
41
+ 気になる場合は前以てif文で避けてやれば良いです。