Program for CodeHS 8.3.8: Word Ladder in Python 3
While your code seems to work, the next step should be separating the different responsibilities of your code. As far as I can see, there are three:


You have to ask the user for an index. It needs to be an integer in the range [-1, len(s)).
You have to ask them for a replacement character. It must be exactly one lower case character.
You need to actually run the game.


The first two can be combined into a general function asking the user for input with type and validation:

def ask_user(message, type_=str, valid=lambda: True, invalid="Invalid"):
    while True:
        try:
            user_input = type_(input(message))
        except ValueError:
            print(invalid)
            continue
        if not valid(user_input):
            print(invalid)
            continue
        return user_input


And your main program can then use this function. I would also change the internal data of the word to be a list, so you can easily replace characters. When printing the word, just use "".join(word).

def play_word_ladder():
    word = list(input("Enter a word: "))

    def valid_index(i):
        return i in range(-1, len(word))

    def valid_character(c):
        return len(c) == 1 and c.islower()

    while True:
        index = ask_user("Enter an index (-1 to quit): ",
                         int, valid_index, "Invalid index!")
        if index == -1:
            return
        char = ask_user("Enter a letter: ", str, valid_character,
                        "Character must be one lowercase letter!")
        word[index] = char
        print("".join(word))


Note that your outer for loop is completely unnecessary.

The game can be started under a if __name__ == "__main__": guard to allow importing from this script. Note that you don't need to manually exit the script, it will do so automatically at the end.

if __name__ == "__main__":
    play_word_ladder()