01/10/2018, 16:00
Lỗi IndexError: list index out of range khi lấy phần tử thứ m+1 trong mảng
như hình file input ý tưởng của mình là cho dữ liệu của SinhVien, GiaoVien, svTKB, gvTKB, MonHoc vào các mảng tương ứng, sau đó cho chạy 3 dòng for cho mảng SinhVien, svTKB, MonHoc.Nếu có mã sv nào trong bảng sinh viên bằng với mã sv trong bảng svTKB và phần tử kế tiếp của phần tử trong svTKB bằng mã môn học trong mảng MônHọc thì tính số chỉ của sinh viên đó.Sau khi chạy thì in ra thông tin sinh viên như hình và thêm tổng số tín chỉ. Mình đã hoàn thành bài này bằng java



Bài liên quan
Dòng
đổi thành
Mình nhớ là đã nói với bạn về dòng này rồi, nhưng bạn không chịu tư duy cẩn thận về nó.
Code bạn còn bị indent lỗi phần bên trong for n kia kìa.
P/s: Lần sau không được up screenshot code, hãy up code lên.
nó vẫn báo lỗi bạn ơi if listSVTKB[m+1] in listMH[l] and listMH[l+2] == 1:
IndexError: list index out of range
Sao listSVTKB lại lấy index của listSV? 2 list này liên quan gì đến nhau?
à lỗi mình r để mình sửa lại
if listSVTKB[n+1] in listMH[l+1] and listMH[l+2] == 3:
print(“pass”)
hiện tại test print thử ở trong dòng if này và vẫn chưa print ra được không biết là mình dùng “in” để so sanh có đúng hay không ạ
Các list của bạn là list 2 chiều hay list 1 chiều? Size như thế nào?
[‘51003133’, ‘Duong Huu Phuc’, ‘M\n’, ‘0’, ‘51503116’, ‘Nguyen Hong Thuan’, ‘M\n’, ‘0’, ‘51503207’, ‘Duong Thi Trang’, ‘F\n’, ‘0’]
[‘51503116’, ‘504070\n’, ‘51503116’, ‘501045\n’, ‘51503207’, ‘504070\n’]
[‘504070’, ‘SOA’, ‘3\n’, ‘501045’, ‘DSA1’, ‘4’]
tương ứng là listSV, listSVTKB, listMH. mình không biết phải làm sau để mất dấu \n trong các phần tử.
Sửa thành
Sau khi đọc string, đối với string đọc được thì gán qua 1 bước
để làm mất dấu
\n
ở cuối đi.mình đã fix được dấu \n cuối dòng nhưng if listSVTKB[n+1] == listMH[l+1] and listMH[l+2] == 3: thì vẫn không chạy được bạn ạ
Cái này bạn không up code bằng chữ lên thì mình không biết tại sao lỗi đâu bạn. Bạn up code lên ideone, nhập input đàng hoàng tử tế rồi thả link mình xem nha.
mình có thể kết pn fb vs pn để dễ trao đổi k
Mình không dùng facebook. Trao đổi lập trình thì bạn tiếp tục ở diễn đàn này, tại sao phải vác nhau lên facebook?
tại mình thấy fb dễ trao đổi hơn nếu pn thích ở đây thì vẫn ok.ĐÂY LÀ TOÀN BỘ CODE CỦA MÌNH
ĐÂY LÀ FILE INPUT
Code này của bạn không đầy đủ, code lại toàn index m, n, l rất khó debug. Bạn chịu khó debug đi nhé.