CommencerCommencez gratuitement

Décaler une chaîne de caractères

Vous allez créer un générateur qui, étant donnée une chaîne de caractères, produit une séquence des caractères constituants décalés d’un nombre de positions shift. Par exemple, la chaîne 'sushi' produit la séquence 'h', 'i', 's', 'u', 's' lorsque l’on décale de 2 positions vers la droite (shift = 2). Si l’on décale de 2 positions vers la gauche (shift = -2), la séquence obtenue sera 's', 'h', 'i', 's', 'u'.

Astuce : utilisez l’opérateur % pour parcourir en boucle les indices valides. L’appliquer à un nombre positif ou négatif donne un reste non négatif, ce qui peut être utile pour décaler votre indice.

Par exemple, considérez la variable suivante string = 'python', qui contient une chaîne de 6 caractères :

  • 2 % 6 = 2 (donc, string[2 % 6] est t)
  • 0 % 6 = 0 (donc, string[0 % 6] est p)
  • -2 % 6 = 4 (donc, string[-2 % 6] est o)

Cet exercice fait partie du cours

<cours>S’exercer aux questions d’entretien de code en Python</cours>
Voir le cours

Instructions de l’exercice

  • Parcourez les indices d’une chaîne en utilisant la variable fournie len_string.
  • Trouvez quel caractère correspondra à l’indice lorsque l’on applique le décalage.
  • Créez un générateur qui décale la chaîne 'DataCamp' de 3 positions vers la droite (c.-à-d. "ampDataC").
  • Créez une nouvelle chaîne à partir du générateur et affichez-la.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

def shift_string(string, shift):
    len_string = len(string)
    # Loop over the indices of a string
    for idx in ____:
        # Find which character will correspond to the index.
        ____ ____[____]
       
# Create a generator
gen = ____

# Create a new string using the generator and print it out
string_shifted = ''.____
print(string_shifted)
Modifier et exécuter le code