Ошибка Python: "IndexError: string index out of range"

В настоящее время я изучаю python по книге "Python для абсолютного новичка (третье издание)". В книге есть упражнение, в котором описывается код для игры в палач. Я следовал этому коду, однако в середине программы я продолжаю получать ошибку.

Вот код, который вызывает проблему:

if guess in word:
    print("\nYes!", guess, "is in the word!")

    # Create a new variable (so_far) to contain the guess
    new = ""
    i = 0
    for i in range(len(word)):
        if guess == word[i]:
            new += guess
        else:
            new += so_far[i]
        so_far = new

Это также ошибка, которую он возвращает:

new += so_far[i]
IndexError: string index out of range

Может ли кто-нибудь помочь мне, что происходит не так и что я могу сделать, чтобы исправить это?

edit: I initialised the so_far variable like so:

so_far = "-" * len(word)
14
задан Darkphenom 3 January 2012 в 13:11
поделиться