Inizia subitoInizia gratis

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

Visualizza corso

Istruzioni dell'esercizio

  • Itera sugli indici di una stringa usando la variabile len_string fornita.
  • 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)
Modifica ed esegui il codice