Bienvenue sur Laurentvidal.fr, la meilleure plateforme de questions-réponses pour trouver des réponses précises et rapides à toutes vos questions. Explorez des milliers de questions et réponses fournies par une large gamme d'experts dans divers domaines sur notre plateforme de questions-réponses. Rejoignez notre plateforme pour vous connecter avec des experts prêts à fournir des réponses détaillées à vos questions dans divers domaines.

Bonjour tout le monde j'espère que vous allez tous très bien... Je n'étais pas là au dernier cours d'outil numérique, et le prof semble s'en foutre de mon absence.
J'ai du mal avec cette exercice.


Objectifs : programmer des petites routines qui manipulent des listes.

1. Programme une fonction rotation(liste) qui décale d’un rang tous les éléments d’une liste (le dernier élément devenant le premier). La fonction renvoie une nouvelle liste.
Par exemple rotation([1,2,3,4]) renvoie la liste [4,1,2,3].

2. Programme une fonction inverser(liste) qui inverse l’ordre des éléments d’une liste.
Par exemple inverser([1,2,3,4]) renvoie la liste [4,3,2,1].

3. A) Programme une fonction supprimer_rang(liste,rang) qui renvoie une liste formée de tous les éléments, sauf celui au rang donné.
Par exemple supprimer_rang([8,7,6,5,4].

B) renvoie la liste [8,7,5,4] (l’élément 6 qui était au rang 2 est supprimé).

4. Programme une fonction supprimer_element(liste,element) renvoyant une liste qui contient tous les éléments sauf ceux égaux à l’élément spécifié.
Par exemple supprimer_element([8,7,4,6,5,4],4) renvoie la liste [8,7,6,5] (tous les éléments égaux à 4 ont été supprimés).​

Sagot :

caylus

Réponse :

Bonjour,

Explications :

1. Programme une fonction rotation(liste) qui décale d’un rang tous les éléments d’une liste (le dernier élément devenant le premier). La fonction renvoie une nouvelle liste.

Par exemple rotation([1,2,3,4]) renvoie la liste [4,1,2,3].

Considérons l'ensemble des nombres i tels que 0≤i≤4

E={0,1,2,3,4}={i ∈N | 0≤i≤4}

F={ i % 5 | i∈E}

F =E n'est autre que l'ensembre des restes de la division de tout élément de E par 5.

Retirons 1 à chaque valeur de i

1-1=0 => 0 %5 =0

2-1=1 => 1 % 5 =1

3-1=2 => 2 %5 =2

4-1=3 => 3 %5 =3

0-1=-1 => -1 %5 =4  (car -1 %5 =(-1+5)%5 =4%5=4)

def rotation (pListe):

   return ([ pListe[(i-1)% len(pListe) ] for i in range(len(pListe))])

2. Programme une fonction inverser(liste) qui inverse l’ordre des éléments d’une liste.

Par exemple inverser([1,2,3,4]) renvoie la liste [4,3,2,1].

un grand classique:

def inverser(pListe):

   return [pListe[::-1]]

3. A) Programme une fonction supprimer_rang(liste,rang) qui renvoie une liste formée de tous les éléments, sauf celui au rang donné.

Par exemple supprimer_rang([8,7,6,5,4].

Incompréhensible

B) renvoie la liste [8,7,5,4] (l’élément 6 qui était au rang 2 est supprimé).

def supprimer_rang(pListe,pRang):

   def phi(y, x):

       if y < x: return y

       else: return y + 1

   for i in range(len(pListe)-1):

       print (i,phi(i,pRang) )

   return ([pListe[phi(i,pRang) ] for i in range(len(pListe)-1)] )

Rem: phi est une fonction définie uniquement dans la fonction supprimer_rang.

On recherche len(pListe)-1 nombres puisque l'on en a supprimé 1.

On itère des les nombres x de 0,1,2,... ,len(pListe)-1 et si celui-ci est

inférieur à pRang, on le renvoie

sinon on renvoie le suivant de x

ex:

E=[8,7,6,5,4]

A=supprimer_rang(E,2)

x est le rang : il varie depuis 0 jusque 4 (exclus)

x=0 =>on renvoie  0 , E[x) vaut 8

x=1 => 1 E[x]=7

x=2 => on renvoie 2+1 =3 , E[3]=5

x=3 => 3+1=4, E[4]=4

4. Programme une fonction supprimer_element(liste,element) renvoyant une liste qui contient tous les éléments sauf ceux égaux à l’élément spécifié.

Par exemple supprimer_element([8,7,4,6,5,4],4) renvoie la liste [8,7,6,5] (tous les éléments égaux à 4 ont été supprimés).​

Un petit parcours de la liste sans renvoyer les éléments égaux à pElement.

def supprimer_element(pListe,pElement):

   return ([ i for i in pListe  if i != pElement] )

View image caylus
Merci de votre visite. Nous sommes dédiés à vous aider à trouver les informations dont vous avez besoin, quand vous en avez besoin. Merci d'utiliser notre service. Nous sommes toujours là pour fournir des réponses précises et à jour à toutes vos questions. Vos questions sont importantes pour nous. Revenez régulièrement sur Laurentvidal.fr pour obtenir plus de réponses.