Answer:
See explaination
Step-by-step explanation:
Definition of Class 1:
class Stat:
def __init__(self, li):
self.li = li
def add(self, value):
self.li.append(value)
def __len__(self):
return len(self.li)
def min(self):
try:
return min(self.li)
except:
return "EmptyStatError: empty Stat does not have a min"
def max(self):
try:
return max(self.li)
except:
return "EmptyStatError: empty Stat does not have a max"
def sum(self):
return sum(self.li)
def mean(self):
try:
return float(sum(self.li))/float(len(self.li))
except:
return "EmptyStatError: empty Stat does not have a mean"
def __getitem__(self):
return self.li
def clear(self):
del self.li[:]
Definition of Class 2:
class intlist:
def __init__(self, li):
self.li = li
def append(self, value):
if type(value) == int:
self.li.append(value)
else:
print "NotIntError: Input is not an Integer."
def insert(self, index,value):
if type(value) == int:
self.li.insert(index, value)
else:
print "NotIntError: Input is not an Integer."
def extend(self, value):
i = 0
for temp in value:
if type(temp) == int:
i = i
else:
i = i+1
if i==0:
self.li.extend(value)
else:
print "NotIntError: Input is not an Integer."
def __setitem__(self, index, value):
self.insert(index, value)
def __getitem__(self, index):
return self.li[index]
def odds(self):
lis = []
for temp in self.li:
if temp%2 == 1:
lis.append(temp)
return lis
def evens(self):
lis = []
for temp in self.li:
if temp%2 == 0:
lis.append(temp)
return lis
Class 1 call:
s = Stat([])
s.add(2.5)
s.add(4.7)
s.add(78.2)
print len(s)
print s.min()
print s.max()
print s.sum()
print s.mean()
print s.li
s.clear()
print s.li
print len(s)
print s.min()
print s.max()
print s.mean()
print s.sum()
Class 2 call:
intl = intlist([])
print intl.li
intl = intlist([1,2,3])
print intl.li
intl.append(5)
print intl.li
intl.insert(1,99)
print intl.li
intl.extend([22,44,66])
print intl.li
print intl.odds()
print intl.evens()
print intl.li
intl[2] = -12
print intl[4]