Exercice 51
Écrire un programme Python sous forme de fonction qui prend en paramètre une chaîne s et qui renvoie la liste de tous les caractères répétés dans la chaîne s.
Exemple: si s = "langage python", la fonction renvoie la liste: ['n', 'a', 'g']
Solution
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# création d'une fonction qui détermine si un caractère est répété ou non def isRepeated(s,c): compteur = 0 for x in s: if x == c: compteur = compteur + 1 if compteur >= 2: return True else: return False # fonction qui détermine la liste de tous les caractère répétés def listRepeated(s): # initialisation de la liste des caractères répétés repeated = [] for x in s: if isRepeated(s,x) and x not in repeated: repeated.append(x) return repeated # Exemple s = "python language" print("La liste des caractères répétés est : " , listRepeated(s)) # La sortie est: # La liste des caractères répétés est : ['n', 'a', 'g'] |
Younes Derfoufi
CRMEF OUJDA
je comprend pas le role du “c” et if x==c
La fonction isRepeated(s,c) doit renvoyer True si le caractère c se répète dans la chaine s et False si non.
Exemple si s = ‘langage’ et c = ‘g’
on crée une variable x qui fait le parcourt de la chaine s
for x in s:
# on teste si x coïncide avec c = ‘g’ et on incrémente le compteur
et à la fin si le compteur est supérieur ou égale 2 alors dans ce cas la variable x qui fait le parcourt à rencontré le caractère au moins 2 fois et donc le caractère est répété…
Je pense que j’ai bien expliqué si non n’hésite pas à commenter encore une fois !