multitest.py と skiplist.py の 2 つのファイルがあります。編集できないスターター コードとして skiplist.py が与えられます。
multitest.py は、skiplist.py から関数を作成して借用することになっているファイルです。
skiplist.py ファイルには、次のようなメソッドがあります。
class SkipList(object):
def __len__(self):
"""(SkipList) -> int
Return the number of items in this skip list.
"""
return self.size
multitest.py では、独自のlenメソッドを作成する必要がありますが、ビルトインへのアクセスは許可されていません。
from skiplist import *
class MultiSet(object):
def __len__(self):
"""(MultiSet) -> int
Return the number of items in this multiset.
"""
return SkipList.__len__(self)
実行時
s = MultiSet([])
print(len(s))
エラーが発生します
Traceback (most recent call last):
File "/Applications/WingIDE.app/Contents/MacOS/src/debug/tserver/_sandbox.py", line 134, in <module>
File "/Applications/WingIDE.app/Contents/MacOS/src/debug/tserver/_sandbox.py", line 56, in __len__
File "/Users/Borna/Documents/CSC148/Assignment/skiplist.py", line 39, in __len__
return self.size
builtins.AttributeError: 'MultiSet' object has no attribute 'size'