teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

マジックナンバーの消去

2021/06/18 16:58

投稿

ppaul
ppaul

スコア24672

answer CHANGED
@@ -2,19 +2,21 @@
2
2
 
3
3
  ```python
4
4
  class Aggregate(dict):
5
- def __init__(self):
5
+ def __init__(self, maxcount=100, endcode='9999'):
6
6
  self.count = 0
7
+ self.maxcount = maxcount
8
+ self.endcode = endcode
7
9
 
8
10
  def entry(self, s):
9
11
  code, sales = s.split()
10
- if code == '9999':
12
+ if code == self.maxcount:
11
13
  return False
12
14
  if code in self:
13
15
  self[code] += int(sales)
14
16
  else:
15
17
  self[code] = int(sales)
16
18
  self.count += 1
17
- return self.count < 100
19
+ return self.count < self.maxcount
18
20
 
19
21
  def __repr__(self):
20
22
  return '\n'.join([f'{key} {self[key]}' for key in self])