Các lệnh sau có sinh ra lỗi chương trình không? Nếu có thì mã lỗi là gì? Hãy nêu cách sửa lỗi đó.
>>>A=[1, 3, 5, 10, 0]
>>>for k in range(1,len(A) + 1):
print(A[k])
Các lệnh sau có sinh ra lỗi chương trình không? Nếu có thì mã lỗi là gì? Hãy nêu cách sửa lỗi đó.
>>>A=[1, 3, 5, 10, 0]
>>>for k in range(1,len(A) + 1):
print(A[k])
Quảng cáo
Trả lời:
Có, chương trình này có sinh ra lỗi khi chạy.
Mã lỗi
Khi vòng lặp chạy đến giá trị cuối cùng của range, chương trình sẽ báo lỗi: IndexError: list index out of range.
Nguyên nhân gây ra lỗi
- Dãy A có 5 phần tử, nên len(A) = 5.
- Hàm range(1, len(A) + 1) sẽ tạo ra các giá trị cho k từ 1 đến 5 (bao gồm: 1, 2, 3, 4, 5)
- Trong Python, chỉ số (index) của danh sách (list) bắt đầu từ 0 đến len(A) - 1 (tức là từ 0 đến 4)
- Khi k = 5, câu lệnh print(A[k]) trở thành print(A[5]), lúc này chỉ số 5 nằm ngoài phạm vi cho phép của danh sách A.
Cách sửa lỗi: bạn có thể sửa lại hàm range() theo các cách sau: Nếu muốn in các phần tử từ vị trí chỉ số 1 đến hết danh sách (bỏ qua phần tử đầu tiên A[0])
Sửa range(1, len(A) + 1) thành range(1, len(A)) để k chỉ chạy từ 1 đến 4.Hot: 1000+ Đề thi cuối kì 2 file word cấu trúc mới 2026 Toán, Văn, Anh... lớp 1-12 (chỉ từ 60k). Tải ngay
CÂU HỎI HOT CÙNG CHỦ ĐỀ
Câu 1
Lời giải
Đáp án đúng là: B
Câu 2
a) Trong đoạn chương trình
>>>def Ham(x,y):
z=15
x=x*3
y=x+y
return x+y+z
Thì các biến x, y, z là các biến cục bộ của chương trình
b) Trong đoạn chương trình
>>>x=5
>>>y=6
Thì x, y là các biến ngoài hàm. Sau khi chạy hàm các biến x, y không thay đổi giá trị.
c) Kết quả 51 không phải là kết quả của lệnh return x+y+z
Lời giải
a) Đ, Các biến x, y, z là các biến cục bộ của chương trình, vì x, y, z được khai báo bên trong thân hàm.
b) Đ, vì x, y được khai báo ngoài hàm.
c) S. Ta có z=15;x=x*3=5*3=15;y=x+y=15+6=21; vì return x+y+z=15+15+21=51.
d) S, khi thực hiện lệnh >>>z thì máy sẽ báo lỗi vì biến z chỉ có tác dụng bên trong hàm Ham, gọi bên ngoài hàm này sẽ bị báo lỗi.
Câu 3
Lời giải
Bạn cần đăng ký gói VIP ( giá chỉ từ 250K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.
Câu 4
Lời giải
Bạn cần đăng ký gói VIP ( giá chỉ từ 250K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.
Câu 5
Đâu không là phần mềm mà người thiết kế đồ hoạ sử dụng để chỉnh sửa ảnh, tạo ra các thiết kế đồ hoạ?
Lời giải
Bạn cần đăng ký gói VIP ( giá chỉ từ 250K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.
Lời giải
Bạn cần đăng ký gói VIP ( giá chỉ từ 250K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.