
##Exercice 1

#Créer une liste
l = [9, 2, 5, 7, "chat", 16, 7, 8]

#Taille de la liste
n = len(l)

#Lire un élément
print(l[0])
print(l[1])
print(l[2])
print(l[n - 1])
#print(l[n]) #Dépassement

#Modifier un élément
l[2] =-6



##Exercice 2.3
def somme(l):

    n = len(l)
    s = 0
    for i in range(n):
        s += l[i]
    return s

##Exercice 2.4
def moy(l):

    return somme(l)/len(l)

##Exercice 2.5
def nbpos(l):

    n = len(l)
    nb = 0
    for i in range(n):
        if l[i] > 0 :
            nb += 1

    return nb


##Exercice 4.1
def carres(n) :
    l = []

    for i in range(n):
        l.append(i**2)

    return l


##Exercice 4.2
def licon(n,c):

    l = []

    for i in range(n):
        l.append(c)

    return l


def licon(n,c):

    return [c]*n

##Exercice 5
def rech_seq(t, x) :

    for i in range(len(t)):
        if t[i] == x :
            return i

    return None

#Dans le pire des cas : len(t) comparaisons
#Le pire des cas est celui où l'élément recherché est le dernier de la liste ou n'est pas présent.


##Exercice 6

def ispos(l):
    for x in l :
        if x < 0 :
            return False
    return True


##Exercice 7
def ppi(l):
    k = 0
    while l[k] != 0 :
        k+=1
    return k

def ppibis(l):
    k = 0
    while k < len(l) and l[k] != 0 :
        k+=1
    return k














