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