回答編集履歴

1

説明を追加

2021/05/02 10:28

投稿

TakaiY
TakaiY

スコア12763

test CHANGED
@@ -1,6 +1,6 @@
1
1
  以下の関数で、変換のための定数を設定していますよね。この中でCM_TO_INCHESは設定していますが、エラーに出てくるINCHES_TO_CMは設定していません。
2
2
 
3
- 他の方の指摘している
3
+
4
4
 
5
5
  ```python
6
6
 
@@ -19,3 +19,53 @@
19
19
  ```
20
20
 
21
21
  この関数でINCHES_TO_CMも設定したり、golbal変数の初期化をしたり、他にもCM_TO_INCHES では行なわれていることをいろいろ注意しながら直さないといけません。
22
+
23
+
24
+
25
+ ---
26
+
27
+
28
+
29
+ インチをセンチメートルに変換する処理についてなおさなきゃならないところがいくつもあります。
30
+
31
+ 課題のようですから書いてしまわず、ヒント出しましょう。
32
+
33
+ ただし、これだけでうまくいくかどうかはわかりませんけどね。
34
+
35
+
36
+
37
+ まずはこのあたりでグローバル変数INCHES_TO_CMの設定が必要です。初期値は0でいいでしょう。
38
+
39
+ ```python
40
+
41
+ CM_TO_INCHES = 0 #Crearing global valuable
42
+
43
+ ```
44
+
45
+
46
+
47
+ 次に、初期化が必要です。 以下の場所で「operations.txt」から読みましょう。
48
+
49
+ 現状は1行目にCM_TO_INCHESが入てちるようですから、2行目にINCHES_TO_CMの値を書いておくことにしましょう。
50
+
51
+ すると下の処理に2行目を読む処理を追加すればいいでしょう。 global宣言を追加して、下の3行を繰り返せばいいはず。
52
+
53
+ ```python
54
+
55
+ def loadConversion():
56
+
57
+ global CM_TO_INCHES
58
+
59
+ f = open("operations.txt", "r")
60
+
61
+ L1 = f.readline()
62
+
63
+ val=L1.split(",")
64
+
65
+ CM_TO_INCHES = float(val[1])
66
+
67
+ ```
68
+
69
+
70
+
71
+ とりあえず、この2つで動くようになるんじゃないかなぁ。