回答編集履歴

7

コード行入替え

2020/04/24 00:45

投稿

shiracamus
shiracamus

スコア5406

test CHANGED
@@ -72,10 +72,10 @@
72
72
 
73
73
  self.show(self.answer)
74
74
 
75
+ self.operator = operator
76
+
75
77
  print(self.answer, operator)
76
78
 
77
- self.operator = operator
78
-
79
79
 
80
80
 
81
81
  def calculate(self):
@@ -106,6 +106,8 @@
106
106
 
107
107
  def __init__(self, dentaku, display_variable):
108
108
 
109
+ display = tk.Entry(textvariable=display_variable, font=self.FONT)
110
+
109
111
  k1 = self.number_key(1, dentaku.entry)
110
112
 
111
113
  k2 = self.number_key(2, dentaku.entry)
@@ -126,8 +128,6 @@
126
128
 
127
129
  k0 = self.number_key(0, dentaku.entry)
128
130
 
129
- kc = self.unary_key('C', dentaku.clear)
130
-
131
131
  kp = self.binomial_key('+', dentaku.operate)
132
132
 
133
133
  ks = self.binomial_key('-', dentaku.operate)
@@ -136,9 +136,9 @@
136
136
 
137
137
  kd = self.binomial_key('/', dentaku.operate)
138
138
 
139
+ ke = self.unary_key('=', dentaku.calculate)
140
+
139
- ke = self.unary_key('=', dentaku.calculate, bg='#00ff00')
141
+ kc = self.unary_key('C', dentaku.clear, bg='#ff0000')
140
-
141
- display = tk.Entry(textvariable=display_variable, font=self.FONT)
142
142
 
143
143
 
144
144
 
@@ -198,7 +198,7 @@
198
198
 
199
199
 
200
200
 
201
- def unary_key(self, operator, operate, bg='#ff0000'):
201
+ def unary_key(self, operator, operate, bg='#00ff00'):
202
202
 
203
203
  return tk.Button(text=operator,
204
204
 

6

説明補足

2020/04/24 00:45

投稿

shiracamus
shiracamus

スコア5406

test CHANGED
@@ -1,4 +1,4 @@
1
- Dentakuを継承するのではなく、引数で渡しましょう。
1
+ Dentakuを継承するのではなく、生成した dentaku インスタンスを引数で渡しましょう。
2
2
 
3
3
  Dentakuは計算を担当するクラス、MyFrame は dentaku を操作する UI (User Interface) クラスに役割分担するといいです。
4
4
 

5

余計な記号削除

2020/04/24 00:21

投稿

shiracamus
shiracamus

スコア5406

test CHANGED
@@ -1,4 +1,4 @@
1
- ---Dentakuを継承するのではなく、引数で渡しましょう。
1
+ Dentakuを継承するのではなく、引数で渡しましょう。
2
2
 
3
3
  Dentakuは計算を担当するクラス、MyFrame は dentaku を操作する UI (User Interface) クラスに役割分担するといいです。
4
4
 

4

文言変更

2020/04/23 23:18

投稿

shiracamus
shiracamus

スコア5406

test CHANGED
@@ -1,6 +1,6 @@
1
- Dentaku継承するのではなく、保持た方がいいですよ
1
+ ---Dentaku継承するのではなく、引数で渡ましょう
2
-
2
+
3
- Dentaku自体は計算を担当するクラス、MyFrame は dentaku を操作する UI (User Interface) に役割分担するといいです。
3
+ Dentakuは計算を担当するクラス、MyFrame は dentaku を操作する UI (User Interface) クラスに役割分担するといいです。
4
4
 
5
5
  それらしい実装にしてみました。
6
6
 

3

変数名変更

2020/04/23 23:17

投稿

shiracamus
shiracamus

スコア5406

test CHANGED
@@ -104,7 +104,7 @@
104
104
 
105
105
 
106
106
 
107
- def __init__(self, dentaku, display_value):
107
+ def __init__(self, dentaku, display_variable):
108
108
 
109
109
  k1 = self.number_key(1, dentaku.entry)
110
110
 
@@ -138,7 +138,7 @@
138
138
 
139
139
  ke = self.unary_key('=', dentaku.calculate, bg='#00ff00')
140
140
 
141
- display = tk.Entry(textvariable=display_value, font=self.FONT)
141
+ display = tk.Entry(textvariable=display_variable, font=self.FONT)
142
142
 
143
143
 
144
144
 
@@ -214,13 +214,11 @@
214
214
 
215
215
  root = tk.Tk()
216
216
 
217
- display_value = tk.IntVar()
217
+ display_variable = tk.IntVar()
218
-
219
- frame = tk.Frame(root)
218
+
220
-
221
- dentaku = Dentaku(show=display_value.set)
219
+ dentaku = Dentaku(show=display_variable.set)
222
-
220
+
223
- ui = DentakuUI(dentaku, display_value)
221
+ ui = DentakuUI(dentaku, display_variable)
224
222
 
225
223
  root.mainloop()
226
224
 

2

変数名変更

2020/04/23 17:21

投稿

shiracamus
shiracamus

スコア5406

test CHANGED
@@ -104,7 +104,7 @@
104
104
 
105
105
 
106
106
 
107
- def __init__(self, dentaku, variable):
107
+ def __init__(self, dentaku, display_value):
108
108
 
109
109
  k1 = self.number_key(1, dentaku.entry)
110
110
 
@@ -138,7 +138,7 @@
138
138
 
139
139
  ke = self.unary_key('=', dentaku.calculate, bg='#00ff00')
140
140
 
141
- display = tk.Entry(textvariable=variable, font=self.FONT)
141
+ display = tk.Entry(textvariable=display_value, font=self.FONT)
142
142
 
143
143
 
144
144
 
@@ -214,13 +214,13 @@
214
214
 
215
215
  root = tk.Tk()
216
216
 
217
- variable = tk.IntVar()
217
+ display_value = tk.IntVar()
218
218
 
219
219
  frame = tk.Frame(root)
220
220
 
221
- dentaku = Dentaku(show=variable.set)
221
+ dentaku = Dentaku(show=display_value.set)
222
-
222
+
223
- ui = DentakuUI(dentaku, variable)
223
+ ui = DentakuUI(dentaku, display_value)
224
224
 
225
225
  root.mainloop()
226
226
 

1

コード手直し

2020/04/23 16:55

投稿

shiracamus
shiracamus

スコア5406

test CHANGED
@@ -106,85 +106,83 @@
106
106
 
107
107
  def __init__(self, dentaku, variable):
108
108
 
109
- b1 = self.number_key(1, dentaku.entry)
110
-
111
- b2 = self.number_key(2, dentaku.entry)
112
-
113
- b3 = self.number_key(3, dentaku.entry)
114
-
115
- b4 = self.number_key(4, dentaku.entry)
116
-
117
- b5 = self.number_key(5, dentaku.entry)
118
-
119
- b6 = self.number_key(6, dentaku.entry)
120
-
121
- b7 = self.number_key(7, dentaku.entry)
122
-
123
- b8 = self.number_key(8, dentaku.entry)
124
-
125
- b9 = self.number_key(9, dentaku.entry)
126
-
127
- b0 = self.number_key(0, dentaku.entry)
128
-
129
- bc = self.unary_key('C', dentaku.clear, bg='#ff0000')
130
-
131
- bp = self.binomial_key('+', dentaku.operate)
132
-
133
- bs = self.binomial_key('-', dentaku.operate)
134
-
135
- bm = self.binomial_key('*', dentaku.operate)
136
-
137
- bd = self.binomial_key('/', dentaku.operate)
138
-
139
- be = self.unary_key('=', dentaku.calculate)
140
-
141
-
142
-
143
- b7.grid(row=1, column=0)
144
-
145
- b8.grid(row=1, column=1)
146
-
147
- b9.grid(row=1, column=2)
148
-
149
- bc.grid(row=1, column=3)
150
-
151
- b4.grid(row=2, column=0)
152
-
153
- b5.grid(row=2, column=1)
154
-
155
- b6.grid(row=2, column=2)
156
-
157
- bp.grid(row=2, column=3)
158
-
159
- b1.grid(row=3, column=0)
160
-
161
- b2.grid(row=3, column=1)
162
-
163
- b3.grid(row=3, column=2)
164
-
165
- bs.grid(row=3, column=3)
166
-
167
- b0.grid(row=4, column=0)
168
-
169
- bm.grid(row=4, column=1)
170
-
171
- bd.grid(row=4, column=2)
172
-
173
- be.grid(row=4, column=3)
174
-
175
-
176
-
177
- entry = tk.Entry(textvariable=variable, font=self.FONT)
178
-
179
- entry.grid(row=0, column=0, columnspan=4)
180
-
181
-
182
-
183
- def number_key(self, number, entry, bg='#ffffff'):
184
-
185
- return tk.Button(text=str(number),
186
-
187
- command=lambda: entry(number),
109
+ k1 = self.number_key(1, dentaku.entry)
110
+
111
+ k2 = self.number_key(2, dentaku.entry)
112
+
113
+ k3 = self.number_key(3, dentaku.entry)
114
+
115
+ k4 = self.number_key(4, dentaku.entry)
116
+
117
+ k5 = self.number_key(5, dentaku.entry)
118
+
119
+ k6 = self.number_key(6, dentaku.entry)
120
+
121
+ k7 = self.number_key(7, dentaku.entry)
122
+
123
+ k8 = self.number_key(8, dentaku.entry)
124
+
125
+ k9 = self.number_key(9, dentaku.entry)
126
+
127
+ k0 = self.number_key(0, dentaku.entry)
128
+
129
+ kc = self.unary_key('C', dentaku.clear)
130
+
131
+ kp = self.binomial_key('+', dentaku.operate)
132
+
133
+ ks = self.binomial_key('-', dentaku.operate)
134
+
135
+ km = self.binomial_key('*', dentaku.operate)
136
+
137
+ kd = self.binomial_key('/', dentaku.operate)
138
+
139
+ ke = self.unary_key('=', dentaku.calculate, bg='#00ff00')
140
+
141
+ display = tk.Entry(textvariable=variable, font=self.FONT)
142
+
143
+
144
+
145
+ display.grid(row=0, column=0, columnspan=4)
146
+
147
+ k7.grid(row=1, column=0)
148
+
149
+ k8.grid(row=1, column=1)
150
+
151
+ k9.grid(row=1, column=2)
152
+
153
+ kc.grid(row=1, column=3)
154
+
155
+ k4.grid(row=2, column=0)
156
+
157
+ k5.grid(row=2, column=1)
158
+
159
+ k6.grid(row=2, column=2)
160
+
161
+ kp.grid(row=2, column=3)
162
+
163
+ k1.grid(row=3, column=0)
164
+
165
+ k2.grid(row=3, column=1)
166
+
167
+ k3.grid(row=3, column=2)
168
+
169
+ ks.grid(row=3, column=3)
170
+
171
+ k0.grid(row=4, column=0)
172
+
173
+ km.grid(row=4, column=1)
174
+
175
+ kd.grid(row=4, column=2)
176
+
177
+ ke.grid(row=4, column=3)
178
+
179
+
180
+
181
+ def number_key(self, number, operate, bg='#ffffff'):
182
+
183
+ return tk.Button(text=number,
184
+
185
+ command=lambda: operate(number),
188
186
 
189
187
  bg=bg, width=2, font=self.FONT)
190
188
 
@@ -200,7 +198,7 @@
200
198
 
201
199
 
202
200
 
203
- def unary_key(self, operator, operate, bg='#00ff00'):
201
+ def unary_key(self, operator, operate, bg='#ff0000'):
204
202
 
205
203
  return tk.Button(text=operator,
206
204