回答編集履歴
1
誤字
answer
CHANGED
@@ -10,8 +10,8 @@
|
|
10
10
|
....return(keisan)
|
11
11
|
|
12
12
|
print(bmi(1.74,80))
|
13
|
-
|
13
|
+
print("%.2f" % bmi(1.74,88)) か
|
14
|
-
|
14
|
+
print("{:.2f}".format(bmi(1.74, 88))にすることで同じ結果が得られます
|
15
15
|
.2fというのは実数で小数点第2位まで表わせという意味です
|
16
16
|
|
17
17
|
4)は仰るとおりです
|
@@ -22,10 +22,10 @@
|
|
22
22
|
def bmi(height, weight):
|
23
23
|
....keisan = weight / height**2
|
24
24
|
....if keisan < 0:
|
25
|
-
........return height
|
25
|
+
........return height // 条件に合致しないので無視
|
26
26
|
....else:
|
27
|
-
........return keisan
|
27
|
+
........return keisan // 条件に合致するのでreturnで返される
|
28
|
-
....return weight
|
28
|
+
....return weight // 既にreturnが実行されたので無視
|
29
29
|
returnは実行された時点でその他の処理は無視されます
|
30
30
|
|
31
31
|
6)も1、5と似てますね
|
@@ -33,7 +33,8 @@
|
|
33
33
|
print("%.2f" % bmi(1.74,80))
|
34
34
|
としたのだと思います
|
35
35
|
|
36
|
-
7)は再帰処理というやつで関数内でその関数自身を呼び出してるので終わらないのです。
|
36
|
+
7)は再帰処理というやつで関数内でその関数自身を呼び出し終わりの無い処理を続けているので終わらないのです。
|
37
37
|
環境にもよるのかもしれませんが以下のようなエラーメッセージが出ると思います
|
38
38
|
RecursionError: maximum recursion depth exceeded
|
39
|
-
おんなじこと繰り返し過ぎだよもう無理!と怒られてます
|
39
|
+
おんなじこと繰り返し過ぎだよもう無理!と怒られてます
|
40
|
+
確か1度に1,000回くらいまでしか関数は繰り返し処理を使えないと思います
|