Pętla for i tworzenie nowego łańcucha.

1

Witam. Uczę się programowania i mam przykład w książce. Nie do końca rozumiem co robi jedna linijka w bloku kodu. To nie jest pełny kod programu:

if guess in word:
  print("Tak,", guess, "znajduje się w słowie)
  new = ""
  for i in range(len(word)):
    if guess == word[i]:
      new += guess
    else:
      new += so_far[i]
  so_far = new
else:
  print("Niestety,", guess, "nie występuje w słowie")
  wrong += 1

W książce jest opisane co ten blok kodu robi z tego co rozumiem pętla for sprawdza wystąpienie litery ze zmiennej guess na każdej pozycji w słowie gdy litera guess znajduje się w słowie dodaje ją do zmiennej new i teraz nie rozumiem bo gdy litera guess nie znajduje się w słowie to do zmiennej new dodawana jest sekwencja so_far z indeksem [i]. Mógłby mi ktoś to objaśnić? W książce autor nie wyjaśnił tej linijki kodu. Nie wiem jak napisać kod z wcięciami.

3

Jeśli litera guess nie jest równa literze w słowie na danej pozycji, dodaje literę z odpowiedniej pozycji zmiennej so_far do zmiennej new. Operacja ta zapewnia, że nowy łańcuch znaków new jest tworzony z poprawnie odgadniętymi literami na ich właściwych pozycjach, jednocześnie zachowując wcześniej odgadnięte poprawne litery z so_far.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.