Which of the following will result in an IndexError in Python? fruit = "banana"

4 phương ánCó giải thích

Các phương án trả lời

Chọn một phương án
Lời giảiChọn phương án để mở
Đáp án đúng: "fruit[6]". Chuỗi banana dài 6 ký tự, chỉ số dương chạy từ 0 đến 5 (b, a, n, a, n, a), còn chỉ số âm chạy từ -1 đến -6, đếm ngược từ cuối. Truy cập một chỉ số nằm ngoài khoảng đó gây IndexError: string index out of range. fruit[6] vượt chỉ số lớn nhất là 5 nên lỗi; đây là lỗi kinh điển khi quên rằng chỉ số bắt đầu từ 0, tức vị trí cuối là len(fruit) - 1. "fruit[5]" hợp lệ, trả về 'a' là ký tự cuối. "fruit[-1]" hợp lệ, cũng là ký tự cuối 'a', vì -1 nghĩa là vị trí cuối cùng. "fruit[-2]" hợp lệ, trả về 'n' là ký tự áp chót. Ba cách viết này đều lấy được một ký tự có thật nên không gây lỗi.

Cùng phần 2

Xuất hiện trong 1 bộ đề