Exercice 101
Écrire un programme en python sous forme de fonction qui prend en paramètre une chaîne s et qui renvoie la liste des mots contenant au moins un caractère majuscule, deux caractères minuscules et un caractère non alphanumérique sans utiliser le module re.
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 26 27 28 |
def mots_speciaux(s): """ Retourne une liste de tous les mots de la chaîne s contenant au moins un caractère majuscule, deux caractères minuscules et un caractère non alphanumérique. """ mots = s.split() mots_speciaux = [] for mot in mots: majuscules = 0 minuscules = 0 non_alphanum = 0 for car in mot: if car.isupper(): majuscules += 1 elif car.islower(): minuscules += 1 elif not car.isalnum(): non_alphanum += 1 if majuscules >= 1 and minuscules >= 2 and non_alphanum >= 1: mots_speciaux.append(mot) return mots_speciaux # Exemple s = "#Python3.11 est plus performant que Python3.7" print(mots_speciaux(s)) # output: ['#Python3.11', 'Python3.7'] |
Explication du code:
- La fonction mots_speciaux(): divise la chaîne d'entrée en mots individuels à l'aide de la méthode split()
- puis elle itère: sur chaque mot individuellement.
- Pour chaque mot: elle compte le nombre de caractères majuscules, minuscules et non alphanumériques à l'aide d'une boucle for et de la méthode isupper(), islower() et isalnum().
- Enfin, si le mot satisfait les critères: (au moins un caractère majuscule, deux caractères minuscules et un caractère non alphanumérique), il est ajouté à la liste des mots spéciaux. La fonction retourne ensuite cette liste.
Younes Derfoufi
CRMEF OUJDA
1 thought on “Solution Exercice 101: algorithme python qui cherche des caractères majuscules et minuscules”