Python (école d'ingénieur) · Chapitre 1 · Exercice
Rotation circulaire d'une chaîne
Bases de Python, variables et types
Énoncé
Écrire une fonction rotation_gauche(chaine, k) qui retourne la chaîne obtenue en décalant circulairement les caractères de positions vers la gauche. Exemple : avec "Bonjour" et , on obtient "njourBo".
Corrigé
def rotation_gauche(chaine, k):
"""
Décale circulairement la chaîne de k positions vers la gauche.
Complexité : O(n) avec copie.
"""
if not chaine:
return chaine
n = len(chaine)
k = k % n # Normalisation : k dans [0, n-1]
return chaine[k:] + chaine[:k]
def rotation_droite(chaine, k):
n = len(chaine)
k = k % n
return chaine[-k:] + chaine[:-k] if k != 0 else chaine
Preuve de correction : La normalisation gère les rotations supérieures à . Le slicing découpe proprement la chaîne en deux sous-chaînes concaténées dans l'ordre inverse.
100 % gratuit
La suite du chapitre est sur Adloun
- 9 autres exercices corrigés dans ce chapitre, et 9 à chercher avec le tuteur
- Les 2 QCM du chapitre, le premier sans compte
- Le tuteur, qui guide pas à pas sans donner la réponse
Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.