---
# System prepended metadata

title: BOUHALLI NASSIM

---

# 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


