Adloun

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

Exercice suivant et tuteur

Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant et tuteur →