Décaler une chaîne de caractères
Vous allez créer un générateur qui, à partir d'une chaîne de caractères, produit une séquence de caractères décalés d'un certain nombre de positions shift. Par exemple, la chaîne 'sushi' produit la séquence 'h', 'i', 's', 'u', 's' lorsqu'on décale de 2 positions vers la droite (shift = 2). Si on décale de 2 positions vers la gauche (shift = -2), la séquence obtenue sera 's', 'h', 'i', 's', 'u'.
Conseil : 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 est 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]estt)0 % 6 = 0(donc,string[0 % 6]estp)-2 % 6 = 4(donc,string[-2 % 6]esto)
Cette activité fait partie du cours
S'entraîner aux questions d'entrevue de programmation en Python
Instructions de l’exercice
- Parcourez les indices d'une chaîne en utilisant la variable fournie
len_string. - Déterminez quel caractère correspondra à l'indice une fois le décalage appliqué.
- 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)