Dans cet exercice, nous allons mélanger les lettres d'un mot grâce au module random.
Le mot résultant devra commencer par une majuscule.
Dans cet exercice nous allons mélanger le mot 'Bonjour'.
Votre script devra mélanger les lettres de ce mot pour donner par exemple : 'Ojnoubr' et assigner cette chaîne de caractères dans la variable resultat.
La fonction shuffle du module random permet de mélanger les éléments d'une liste de façon aléatoire.
Code
import random
mot = "Bonjour"
mot = list(mot)
random.shuffle(mot)
resultat = "".join(mot).capitalize()
Explications
Pour facilement mélanger les lettres d'un mot, nous allons utiliser le module random et la fonction shuffle.
La fonction shuffle fonctionne sur des listes et permet de mélanger les éléments de la liste qui lui est passée.
Nous allons donc commencer par convertir notre mot en liste avec la fonction list :
mot = list(mot)
Nous utilisons ensuite la fonction shuffle du module random pour mélanger la liste :
random.shuffle(mot)
Il ne reste plus qu'à rassembler tous les éléments de la liste avec la méthode join et de remettre la majuscule à la bonne place avec la méthode capitalize :
mot_random = "".join(mot).capitalize()
Points importants à retenir
-
Pour mélanger les éléments d'une liste, on utilise la fonction
shuffledu modulerandom. -
Pour convertir une chaîne de caractères en liste, on utilise la fonction
list.
mot = "Bonjour"
import random mot = "Bonjour" mot = list(mot) random.shuffle(mot) resultat = "".join(mot).capitalize()
Console
Un instant...
Résultats
Test de la variable resultat
assert len(resultat) == 7, "La variable resultat ne contient que {} caractères.".format(len(resultat))
for i in resultat.lower():
assert i in ["b", "o", "n", "j", "o", "u", "r"], "La variable resultat ne contient pas les bonnes lettres."Test de la majuscule sur le premier caractère
assert resultat[0] in ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'], "La première lettre du mot doit être en majuscule."
Bravo, tu as réussi cet exercice de code 🥳
Envoyer ma solution
Vous avez trouvé une solution alternative pour cet exercice ? Proposez votre solution à la communauté 👇
Ma solution :




