Bắt đầu ngayBắt đầu miễn phí

Truy cập các mảng con

Cùng truy cập phần tử trong mảng NumPy! Nhiệm vụ của bạn là chuyển một mảng hai chiều vuông square kích thước size thành một danh sách được tạo theo mẫu xoắn ốc:

Traversing the matrix in spiral way

Thay vì chỉ truy cập các lát cắt nhất định, bạn sẽ viết một lời giải tổng quát hơn bằng cách dùng vòng lặp for (lời giải phải hoạt động cho mọi mảng hai chiều vuông có kích thước lẻ).

Module numpy đã được nhập với bí danh np.

Bạn sẽ cần hàm reversed(), hàm này đảo ngược một Iterable.

Bài tập này là một phần của khóa học

Luyện tập câu hỏi phỏng vấn lập trình bằng Python

Xem khóa học

Hướng dẫn bài tập

  • Chuyển mỗi phần được đánh dấu bằng mũi tên đỏ thành một danh sách.
  • Chuyển mỗi phần được đánh dấu bằng mũi tên xanh lá thành một danh sách.
  • Chuyển mỗi phần được đánh dấu bằng mũi tên xanh dương thành một danh sách.
  • Chuyển mỗi phần được đánh dấu bằng mũi tên màu magenta thành một danh sách.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

spiral = []

for i in range(0, size):
    # Convert each part marked by any red arrow to a list
    spiral += list(square[i, ____:____])
    # Convert each part marked by any green arrow to a list
    spiral += list(square[____:____, size-i-1])
    # Convert each part marked by any blue arrow to a list
    spiral += list(reversed(square[size-i-1, ____:____]))
    # Convert each part marked by any magenta arrow to a list
    spiral += list(reversed(square[____:size-i-1, ____]))
        
print(spiral)
Chỉnh sửa và Chạy Mã