class Tranche:
def __init__(self,t,debut,fin):
assert isinstance(list)
assert debut>= 0 and fin <= len(t)
assert fin>= 0 and fin <= len(t)
self.t = t
self.debut = debut
self.fin = fin
self.tranche_a=[]
def len(self):
return self.t - self.debut - self.fin
def getitem(self,i):
assert i >= 0 and i <= self.len()
return self.t[self.debut+i]
def setitem(self,i,value):
assert i >= 0 and i<= self.len()
self.t[self.debut+i] = value
#2
class Tranche_deux:
def __init__(self,t,debut,fin):
assert isinstance(list)
assert debut>= 0 and fin <= len(t)
assert fin>= 0 and fin <= len(t)
self.t = t
self.debut = debut
self.fin = fin
self.tranche_deux=[]
def __len__(self):
return self.fin-self.debut+1
def __getitem__(self,position):
return self.tranche_deux[position]
def __setitem__(self,position,valeur):
self.tranche_deux[position]=valeur
#3
#1ere quesion
print("premiere question")
a=Tranche([1,2,3,4,5),2,4)
print(a.len())
print(a.getitem(1))
a.setitem(1,7)
print(a.getitem(1))
#2eme question
print("-----")
print("deuxième question")
print"-----")
b=Tranche_deux([1,2,3,4,5]),2,4)
print(len(b))
print(b[1])
b[1]=7
print(b[1])
#3eme question
print("-----")
print("troixième quesion")
print("-----")
print(isinstance(b,list)
u=Tranche_deux(b,0,1)
print(len(u))
print(b[0])
print(b[1])
print(isinstance(u,list))