btvn.vn
Tìm kiếm Đăng nhập

Tạo bảng mới mà các hàng độc lập

Lưu trên thiết bị này
Kĩ thuật lập trình — CS · Chọn bài khác

Đường chéo chính

Ma trận đơn vị bậc 3 có ba hàng, ba cột. Ô hàng 0 cột 0, hàng 1 cột 1 và hàng 2 cột 2 bằng 1; các ô khác bằng 0. Có thể tạo bằng hai vòng lặp, mỗi lượt vòng ngoài tạo **một hàng mới**: ```python def ma_tran_don_vi(n): if n < 0: raise ValueError("n phải không âm") a = [] for i in range(n): hang = [] for j in range(n): hang.append(1 if i == j else 0) a.append(hang) return a print(ma_tran_don_vi(3)) ``` Kết quả là `[[1, 0, 0], [0, 1, 0], [0, 0, 1]]`. Khi n=0, kết quả là bảng rỗng `[]`; để có ma trận bậc dương cần nhập n≥1. Bài toán sách dùng n là số tự nhiên; đoạn kiểm trên nói rõ cách xử lí nếu nhận số âm.

Hai vị trí có thể trỏ tới cùng một hàng

Xét: ```python hang = [0, 0] a = [hang, hang] a[0][0] = 1 print(a) ``` Kết quả là `[[1, 0], [1, 0]]`: `a[0]` và `a[1]` cùng trỏ tới một danh sách `hang`. Đây vẫn là dữ liệu hai tầng, nhưng sửa một “hàng” cũng đổi hàng kia. Muốn hai hàng độc lập, tạo riêng `[[0, 0], [0, 0]]` hoặc tạo mỗi hàng trong vòng lặp như ví dụ ma trận đơn vị.

Bài luyện

Trong ma trận đơn vị bậc 3, ô hàng chỉ số 1, cột chỉ số 1 có giá trị nào?
Chọn một đáp án

Bài luyện

Sau `hang=[0,0]; a=[hang,hang]; a[0][0]=1`, giá trị của `a[1][0]` là gì?
Chọn một đáp án

Bài luyện

Cách nào tạo hai hàng `[0, 0]` độc lập để sửa hàng đầu không đổi hàng sau?
Chọn một đáp án

Đang học