# BOUHALLI NASSIM ```python= #a) class Tranche_a: #constructeur: def __init__(self,t,debut,fin): self.t=t self.debut=debut self.fin=fin self.tranche_a=[] for i in range(debut,fin): self.tranche_a+=[t[i]] #méthodes: def longueur(self): # retourne la longueur de la liste return self.fin-self.debut+1 def getitem(self,position): # retourne la valeur du n-ième élément return self.tranche_a[position] def setitem(self,position,val): # changer la valeur du n-ième élément self.tranche_a[position]=val #b) et c) class Tranche_b: #constructeur: def __init__(self,t,debut,fin): self.t=t self.debut=debut self.fin=fin self.tranche_b=[] for i in range(debut,fin): self.tranche_b+=[t[i]] #méthodes: def __len__(self): # retourne la longueur de la liste return self.fin-self.debut+1 def __getitem__(self,position): # retourne la valeur du n-ième élément return self.tranche_b[position] def __setitem__(self,position,val): # changer la valeur du n-ième élément self.tranche_b[position]=val #programme principal #a) print("question a") a=Tranche_a([1,2,3,4,5],2,4) print(a.longueur()) print(a.getitem(1)) a.setitem(1,7) print(a.getitem(1)) #b) print("-----") print("question b") print("-----") b=Tranche_b([1,2,3,4,5],2,4) print(len(b)) print(b[1]) b[1]=7 print(b[1]) #c) print("-----") print("question c") print("-----") print(isinstance(b,list)) #on teste pour voir si b est un tableau, ce n'est pas le cas u=Tranche_b(b,0,1) #on crée une tranche à partir de la tranche b print(len(u)) print(b[0]) print(b[1]) print(isinstance(u,list)) #on teste pour voir si u est un tableau, ce n'est pas le cas