Cours Stage - Tableaux

Exercice - Tableau

L'énoncé

Répondre aux questions suivantes :


Question 1

Ecire une fonction creation_liste(n) permettant de créer une liste de taille n contenant des entiers aléatoires, en supposant que la bibliothèque random est convenablement importée. 

On rappelle que la fonction randint() retourne un entier aléatoire. 

from random import randint # on importe le module randint présent dans la bibliothèque random

def creation_liste(n) :
     L = [] # on crée une liste vide
     for i in range(n):
          L.append(randint()) # on ajoute n fois un entier aléatoire grâce à la fonction .append()
     return L

On rappelle que la fonction randint() retourne un entier aléatoire. 

Question 2

Créer une fonction positif(L) qui retourne une nouvelle liste contenant uniquement les éléments positifs de la liste L. 

def positif(L):
     L_positif = [] #on crée la nouvelle liste
     for x in L : #on parcourt les éléments de la liste L
          if x >= 0 :
                L_positif.append(x) #si x est positif, on l'ajoute à la nouvelle liste
     return L_positif
   

On pourra se souvenir que in permet de parcourir une liste. 


On n'oubliera pas de créer une liste vide qui contiendra les éléments positifs de L. 

Question 3

Ecire une fonction max(L) trouvant le maximum d'une liste, en supposant que la liste n'est pas vide.

def max(L) :
     max = L[0] #on initialise le maximum au premier élément de la liste.
     for x in L :
          if x > max : 
             max = x #si un élément est plus grand que le maximum, cet élément devient le nouveau maximum.
     return max

On n'oubliera pas d'initialiser une variable max en prenant une valeur particulière de la liste.

Question 4

Ecrire une fonction occurrence_max(L) retournant le nombre de fois qu'apparait le plus grand élément de la liste. 

def occurrence_max(L):
   max = max(L) #on trouve le maximum de la liste L
     occurrence = 0 # on initialise le nombre d'apparition à 0
   for x in L :
          if x == max: 
                occurrence +=1 #si l'élément est égal au maximum on ajoute 1 au nombre d'apparition
     return occurrence 

On pourra utiliser la fonction précédente. 

Question 5

Ecire une fonction max_occurrence(L) retournant l'élément apparaissant le plus grand nombre de fois.
On pourra utiliser la méthode .count()

def max_occurrence(L):
      nb_occur_max = L[0] #cette variable stocke le nombre ayant le plus d'occurrence
          occur_max = L.count(L[0]) #cette variable stocke le nombre d'occurence maximale.
      for x in L :
           if L.count(x) > occur_max :
                  nb_occur_max = x
                  occur_max = L.count(x)
      return nb_occur_max

On ne se préoccupera pas du comptage d'un même élément plusieurs fois. 


On pourra utiliser deux variables, l'une comptant le nombre d'occurrence maximale et l'autre contenant l'élément ayant le plus d'occurrence.