Trouver les mots répétés dans une phrase
RésoluBonjour,
Pourquoi ce petit programme ne marche pas ?
p = input("entrer une phrase ") p = p.split() print("les mots qui se répètent dans la phrase sont: " ) for x in p: for y in p: if (x == y and p.index(x) != p.index(y)): print(x)
Windows / Firefox 102.0
A voir également:
- Trouver les mots répétés dans une phrase
- Trouver adresse mac - Guide
- Comment trouver le mot de passe wifi sur son téléphone - Guide
- Ou trouver les mots de passe sur android - Guide
- Url dans une phrase - Guide
- Ou trouver l'adresse ip - Guide
3 réponses
Bonjour,
Quand avec .index() tu cherches la position d'un mot, tu vas toujours trouver le premier, même s'il y en a 2.
Bonjour,
Juste pour finaliser cette discussion, une manière simple de détecter les mots répétés consiste à stocker chaque mot d'une phrase dans un dictionnaire dans lequel on garde trace du nombre d'occurrences. Tous les mots dont le compteur est strictement supérieur à 1 sont des mots répétés.
#!/usr/bin/env python3 # -*- coding: utf-8 -*- from collections import defaultdict words = """Il en faut peu pour être heureux Vraiment très peu pour être heureux Il faut se satisfaire du nécessaire Un peu d'eau fraîche et de verdure Que nous prodigue la nature Quelques rayons de miel et de soleil""" map_word_count = defaultdict(int) for word in words.lower().split(): map_word_count[word] += 1 repeated = { word for (word, count) in map_word_count.items() if count > 1 } print(repeated)
Résultat
{'il', 'pour', 'heureux', 'peu', 'de', 'faut', 'et', 'être'}
Bonne chance