Sposta una stringa
Creerai un generatore che, data una stringa, produce una sequenza dei caratteri costituenti spostati di un numero di posizioni shift specificato. Per esempio, la stringa 'sushi' produce la sequenza 'h', 'i', 's', 'u', 's' quando la spostiamo di 2 posizioni a destra (shift = 2). Quando la spostiamo di 2 posizioni a sinistra (shift = -2), la sequenza risultante sarà 's', 'h', 'i', 's', 'u'.
Suggerimento: usa l’operatore % per ciclare tra gli indici validi. Applicarlo a un numero positivo o negativo restituisce un resto non negativo, utile quando sposti l’indice.
Per esempio, considera la seguente variabile string = 'python', che contiene una stringa di 6 caratteri:
2 % 6 = 2(quindi,string[2 % 6]èt)0 % 6 = 0(quindi,string[0 % 6]èp)-2 % 6 = 4(quindi,string[-2 % 6]èo)
Questo esercizio fa parte del corso
Esercitarsi con le domande di colloquio di coding in Python
Istruzioni dell'esercizio
- Itera sugli indici di una stringa usando la variabile
len_stringfornita. - Trova quale carattere corrisponde all’indice quando applichiamo lo spostamento.
- Crea un generatore che sposti la stringa
'DataCamp'di 3 posizioni a destra (cioè"ampDataC"). - Crea una nuova stringa usando il generatore e stampala.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
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)