回答編集履歴

3

修正

2018/03/17 01:15

投稿

y_waiwai
y_waiwai

スコア87782

test CHANGED
@@ -60,4 +60,4 @@
60
60
 
61
61
 
62
62
 
63
- (2 と(5 で表示されるOut[1]: ってのは実行環境が出してるなんかのメッセージでは?
63
+ (2 と(6 で表示されるOut[1]: ってのは実行環境が出してるなんかのメッセージでは?

2

回答の追記

2018/03/17 01:15

投稿

y_waiwai
y_waiwai

スコア87782

test CHANGED
@@ -42,7 +42,7 @@
42
42
 
43
43
 
44
44
 
45
- 2.の場合と同じで、returnで関数から抜けるのでprintは実行されません
45
+ (2 の場合と同じで、returnで関数から抜けるのでprintは実行されません
46
46
 
47
47
 
48
48
 
@@ -53,3 +53,11 @@
53
53
  (7)
54
54
 
55
55
  printの中でbmi関数自身を呼んでるので無限ループになってしまっている
56
+
57
+
58
+
59
+ ---
60
+
61
+
62
+
63
+ (2 と(5 で表示されるOut[1]: ってのは実行環境が出してるなんかのメッセージでは?

1

回答の追記

2018/03/17 01:09

投稿

y_waiwai
y_waiwai

スコア87782

test CHANGED
@@ -1,3 +1,55 @@
1
1
  return はたんに関数の戻り値を返す命令です
2
2
 
3
3
  そこに並んでる疑問は、あんましreturn には関係ないかと。
4
+
5
+
6
+
7
+ ---
8
+
9
+ (2)
10
+
11
+ > @@@@return(keisan)
12
+
13
+ > @@@@print("%.2f" %keisan)
14
+
15
+
16
+
17
+ return のところで関数から抜けてしまうので、このprintは実行しません
18
+
19
+
20
+
21
+ (3)
22
+
23
+ > print("%.2f" %bmi(1.74,80))
24
+
25
+
26
+
27
+ 関数 bmi を呼び出してその戻り値を表示しています
28
+
29
+
30
+
31
+ (4)
32
+
33
+ bmi 関数に戻り値が設定されてませんので、printの行でエラーですね
34
+
35
+
36
+
37
+ (5)
38
+
39
+ > @@@@return(keisan)
40
+
41
+ > @@@@print("%.2f" %bmi(1.74,80))
42
+
43
+
44
+
45
+ 2.の場合と同じで、returnで関数から抜けるのでprintは実行されません
46
+
47
+
48
+
49
+ (6)
50
+
51
+ 結果が表示されるのがおかしいw
52
+
53
+ (7)
54
+
55
+ printの中でbmi関数自身を呼んでるので無限ループになってしまっている