回答編集履歴

2

Typo等修正

2022/11/24 11:59

投稿

TakaiY
TakaiY

スコア12765

test CHANGED
@@ -22,8 +22,9 @@
22
22
  ans_label["text"] += event.keysym
23
23
  ```
24
24
 
25
- やはり、ここで、 「+=」としていますので、「もとのラベルのテキストに押したキーの**「keysym」を追加**する方式ですね。
25
+ やはり、ここで、 「+=」としていますので、「もとのラベルのテキストに押したキーの **「keysym」を追加** する方式ですね。
26
- なので、とりあえずは、部分でところで、「minusの時は"-"を追加する」という処理を入れるのがいいでしょう。
26
+ なので、とりあえずは、「keysimがminusの時は"-"を追加する」という処理を入れるのがいいでしょう。
27
+ 他の記号に対応させるのであればそれも個別に追加します。
27
28
 
28
29
  ```python
29
30
  def type_event(event):
@@ -42,7 +43,7 @@
42
43
  elif event.keysym == "BackSpace":
43
44
  ans_label["text"] = text[:-10]
44
45
  ```
45
- このようにBSのときの処理を結果判定の後にやっているのはちょっと違和感がありますね。しかも、「BackSpeca」という文字が足された後なので、そろ文の9文字を含めて10文字消すという仕様はどうかと思います。であれば、追加するまえに判定して、1文字消すべきだと思います。
46
+ このようにBSのときの処理を結果判定の後にやっているのはちょっと違和感がありますね。しかも、「BackSpeca」という文字が足された後なので、その9文字を含めて10文字消すという仕様はどうかと思います。であれば、追加するに判定して、1文字消すべきだと思います。
46
47
 
47
- 入力のイベントで処理すべきはすべて処理して入力を確定してから結果の判定するほうがきれいな処理になると思います
48
+ 修正するなら、入力のイベントで処理すべきはすべて処理して入力後の文字列を確定してから結果の判定するほうがきれいな処理になるでしょう
48
49
 

1

追記

2022/11/23 15:44

投稿

TakaiY
TakaiY

スコア12765

test CHANGED
@@ -10,4 +10,39 @@
10
10
 
11
11
  なので、「ー」を押したときの処理も、ラベルを直接変更するのではなく、既存の処理に沿ったものにすればいいのではないでしょうか。
12
12
 
13
+ ---
14
+ 追記
13
15
 
16
+ コメントに貼られてもインデントがわからないので、不正確ですが、推測で。
17
+
18
+ ```python
19
+ def type_event(event):
20
+ global index
21
+ global word_count
22
+ ans_label["text"] += event.keysym
23
+ ```
24
+
25
+ やはり、ここで、 「+=」としていますので、「もとのラベルのテキストに押したキーの**「keysym」を追加**する方式ですね。
26
+ なので、とりあえずは、部分でところで、「minusの時は"-"を追加する」という処理を入れるのがいいでしょう。
27
+
28
+ ```python
29
+ def type_event(event):
30
+ global index
31
+ global word_count
32
+
33
+ if event.keysym == "minus":
34
+ ans_label["text"] += "-"
35
+ else:
36
+ ans_label["text"] += event.keysym
37
+ ```
38
+ こんな感じ。
39
+
40
+ ただ、この関数を見ると、後の方で、
41
+ ```python
42
+ elif event.keysym == "BackSpace":
43
+ ans_label["text"] = text[:-10]
44
+ ```
45
+ このようにBSのときの処理を結果判定の後にやっているのはちょっと違和感がありますね。しかも、「BackSpeca」という文字が足された後なので、そろ文の9文字を含めて10文字消すという仕様はどうかと思います。であれば、追加するまえに判定して、1文字消すべきだと思います。
46
+
47
+ 入力のイベントで処理すべきはすべて処理して入力を確定してから結果の判定するほうがきれいな処理になると思います。
48
+