Tôi hiện đang học python từ một cuốn sách có tên 'Python cho người mới bắt đầu tuyệt đối (ấn bản thứ ba)'. Có một bài tập trong cuốn sách vạch ra mã cho một trò chơi treo cổ. Tôi theo cùng với mã này tuy nhiên tôi giữ lại một lỗi ở giữa chương trình.Lỗi Python: "IndexError: chỉ mục chuỗi nằm ngoài phạm vi"
Dưới đây là đoạn code mà gây ra vấn đề:
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
Đây cũng là lỗi nó sẽ trả về:
new += so_far[i]
IndexError: string index out of range
một người nào đó có thể giúp tôi ra với những gì đang xảy ra sai và những gì tôi có thể làm gì để sửa nó?
sửa: Tôi khởi tạo biến so_far như vậy:
so_far = "-" * len(word)
Điều này rất nhỏ và không liên quan đến câu hỏi của bạn, nhưng bạn không cần i = 0. Vòng lặp for sẽ tự động đặt biến vòng lặp khi nó bắt đầu ngay cả khi tôi chưa được xác định. –
@Chad Đúng vậy. Tôi không thể nhớ lý do tại sao tôi bị mắc kẹt trong: S – Darkphenom