Desplaza una cadena
Vas a crear un generador que, dada una cadena, produzca una secuencia de caracteres desplazados un número de posiciones shift. Por ejemplo, la cadena 'sushi' produce la secuencia 'h', 'i', 's', 'u', 's' cuando desplazamos 2 posiciones a la derecha (shift = 2). Si desplazamos 2 posiciones a la izquierda (shift = -2), la secuencia resultante será 's', 'h', 'i', 's', 'u'.
Consejo: usa el operador % para recorrer cíclicamente los índices válidos. Aplicarlo a un número positivo o negativo da un resto no negativo, lo cual puede ayudarte al desplazar tu índice.
Por ejemplo, considera la variable string = 'python', que contiene una cadena de 6 caracteres:
2 % 6 = 2(por tanto,string[2 % 6]est)0 % 6 = 0(por tanto,string[0 % 6]esp)-2 % 6 = 4(por tanto,string[-2 % 6]eso)
Este ejercicio forma parte del curso
Practicing Coding Interview Questions in Python
Instrucciones del ejercicio
- Itera sobre los índices de una cadena usando la variable proporcionada
len_string. - Determina qué carácter corresponde al índice cuando aplicamos el desplazamiento.
- Crea un generador que desplace la cadena
'DataCamp'3 posiciones a la derecha (es decir,"ampDataC"). - Crea una nueva cadena usando el generador e imprímela.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
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)