ÎncepețiÎncepe gratuit

Decalează un șir de caractere

Vei crea un generator care, dat fiind un șir de caractere, produce o secvență a caracterelor componente decalate cu un număr specificat de poziții shift. De exemplu, șirul 'sushi' produce secvența 'h', 'i', 's', 'u', 's' când decalăm cu 2 poziții la dreapta (shift = 2). Când decalăm cu 2 poziții la stânga (shift = -2), secvența rezultată va fi 's', 'h', 'i', 's', 'u'.

Sfat: folosește operatorul % pentru a cicla prin indicii valizi. Aplicat unui număr pozitiv sau negativ, acesta returnează un rest non-negativ, ceea ce poate fi util când îți decalezi indexul.

De exemplu, consideră variabila string = 'python', care conține un șir de 6 caractere:

  • 2 % 6 = 2 (prin urmare, string[2 % 6] este t)
  • 0 % 6 = 0 (prin urmare, string[0 % 6] este p)
  • -2 % 6 = 4 (prin urmare, string[-2 % 6] este o)

Acest exercițiu face parte din cursul

Exersarea întrebărilor de interviu de programare în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Iterează peste indicii unui șir de caractere folosind variabila len_string furnizată.
  • Determină ce caracter va corespunde indexului după aplicarea decalajului.
  • Creează un generator care decalează șirul 'DataCamp' cu 3 poziții la dreapta (adică "ampDataC").
  • Creează un șir de caractere nou folosind generatorul și afișează-l.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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)
Editează și rulează codul