👤

Bonjour j'aurais besoin d'aide pour cet un exercice de Nsi :

Il faut créer une liste dans laquelle il y aura tout les élements qui sont en double dans la liste initiale. Je ne trouve pas comme trouvé les doubles et les méttre dans une nouvelle liste ! Merci d'avance...

Sagot :

Bonjour !

Préambule

Avant que je développe ma réponse, je tiens à préciser qu'il y a énormément de possibilités d'arriver à faire ce que ton devoir demande.

Il y a notamment possibilité d'utiliser la fonction set() mais je la trouve peut-être un peu complexe à expliquer et utiliser surtout dans ce qu'on veut faire ici...

Explications

1. Créer une liste  d'éléments

On va commencer par créer une liste sur laquelle on va travailler.

liste = ['eau','eau','terre','feu','air','air','terre','eau']

print(liste)

▌► ['eau', 'eau', 'terre', 'feu', 'air', 'air', 'terre', 'eau']

2. Créer une liste des doublons

On va déjà créer une liste qui contiendra les doublons, on peut la laisser vide pour le moment et sobrement l'appeler listeDoublons.

listeDoublons = []

3. Repérer les doublons est les ajouter

Ce qu'il nous reste à faire maintenant, c'est d'identifier les éléments doublons de la liste.

Les doublons on est d'accords que c'est les éléments qui sont plusieurs fois dans la liste, n'est-ce pas ?

Donc ce qu'il nous reste à faire c'est de regarder combien de fois chaque élément revient et tous les remettre dans la liste des doublons sauf 1.

Bha oui, si on a 3 pizzas et 2 burgers on a 3-1 = 2 pizza en doublon et 2-1 = 1 burger en doublon.

Ce qu'on doit faire en Python c'est donc (pseudo-code):

Pour chaque élément de la liste:

  ╙ Si le compte des itérations de élément dans la listeDoublon  < le compte des itérations de élément dans la liste - 1:

      ╙ Ajouter l'élément une fois dans la listeDoublon

Montrer la liste

Montrer la listeDoublon

4. Ce qu'on va utiliser en code Python

Si on reprend le pseudo code on aura besoin de:

  • Une boucle for, pour regarder chaque élément de la liste
  • Une condition if, pour regarder si le nombre d'itérations (de répétitions) de chaque élément dans listeDoublon est inférieur à celui dans liste
  • La fonction .count() pour compter le nombre d'itération d'un certain élément
  • La fonction .append() pour ajouter un nouvel élément dans la listeDoublon
  • La fonction print() pour nous montrer la liste puis la liste des doublons

Le code

- Le code commenté et non-commenté ci-joint -

Comme déjà expliqué en points 1 et 2 plus haut, on créé les deux listes

liste = ['eau','eau','terre','feu','air','air','terre','eau']

listeDoublon = []

Ensuite, on fait la boucle for qui va permettre de regarder chaque élément se trouvant dans la liste

for element in liste:

Après, la condition if qui regarder si le nombre d'itération de element dans listeDoublon est inférieur au nombre d'itérations de element dans liste - 1

if listeDoublon.count(element) < liste.count(element)-1:

▌     listeDoublon.append(element)

Si la condition est vérifiée, on ajouter element à la fin de la listeDoublon

Pour finir, un petit print() des deux listes pour les comparer :)

print(liste)

print(listeDoublon)

J'espère que tout cela t'aura aidé à comprendre, si tu as mal compris quelque chose ou que j'ai mal expliqué tu peux me demander dans les commentaires

Bonne après-midi ;)

View image CLEMENTCG
View image CLEMENTCG
View image CLEMENTCG

© 2024 IDNLearn. All rights reserved.