Coding for KidsCoding for Kids
Cấp Độ Sáng TạoThử TháchHướng Dẫn Giáo Viên
Bình chọn tính năng
Khóa học Phát triển Python Nâng cao
Chương
>
Cấp độ

Danh sách nâng cao
Sắp xếp các tập hợp

Mục tiêu

Tổ chức và nấu bữa ăn bằng cách sử dụng Sets để sắp xếp và kết hợp các nguyên liệu.

Sẽ là một ý tưởng hay nếu bắt đầu chuẩn bị một số món ăn, có một vài nguyên liệu trong tủ lạnh được cuộn lại cũng như một số loại thảo mộc bạn có thể dùng để tạo hương vị cho bữa ăn. Tất cả vật liệu được lưu trữ trong các danh sách nên sẽ là một ý tưởng tốt nếu sử dụng Sets để hợp nhất các mục và tận dụng tối đa khả năng nấu nướng của bạn.

Có ba (3) hằng số danh sách, trong đó hai (2) là thịt, được đặt tên: pack1pack2, và một (1) là vật liệu nấu ăn, đặt tên là ingredients. Đi đến dấu X tối trên tấm thảm cam và đối diện với tủ lạnh, sử dụng hàm collect() để lấy pack1pack2 từ tủ lạnh, như sau: player.collect(pack1).

Khi thịt đã được thu thập, đi đến dấu X sáng và đối diện với tấm thớt, tại đây chúng ta sẽ kiểm tra nội dung của các gói bằng cách sử dụng hàm speak() với cả hai hằng số danh sách bạn đã thu thập. Từ đây, chúng ta sẽ hợp nhất các mục bằng cách sử dụng Sets như ở cấp độ trước. Tạo hai Sets tên là set1set2, và sử dụng hàm set() gán pack1pack2 cho chúng, ví dụ: set1 = set(pack1).

Khi các danh sách đã được hợp nhất thành Sets, đã đến lúc sắp xếp và phân chia các mục thành các Sets nhỏ hơn để tiện lợi.

Phương pháp đầu tiên để đạt được điều này được gọi là systemic_difference, nó sẽ cho phép chúng ta tách các mục không được chia sẻ giữa từng Set. Tạo một Set có tên unique và sử dụng hai Sets để so sánh và xác định những mục độc nhất bằng cách sử dụng systemic_difference, như sau: unique = set1.symmetric_difference(set2). Sử dụng phương thức speak() với Set bạn đã tạo để xác nhận nội dung của set.

Tiếp theo là việc sắp xếp bằng cách tạo một Set có tên shared và sử dụng phương thức intersection đã học ở cấp độ trước để xác định các mục xuất hiện trong cả hai Sets. Sử dụng hai Sets để so sánh và xác định các mục, như sau: shared = set1.intersection(set2). Sử dụng phương thức speak() với Set bạn đã tạo để xác nhận nội dung của set.

Cuối cùng, sử dụng một phương thức gọi là difference, nó sẽ cho phép chúng ta tách các mục chỉ có trong một Set và không có ở set kia. Tạo hai (2) Sets gọi là meat1meat2, sử dụng hai Sets ban đầu để so sánh và xác định các mục bằng cách sử dụng difference, như sau: meat1 = set1.difference(set2)meat2 = set2.difference(set1). Sử dụng phương thức speak() với cả hai Sets thịt bạn vừa tạo để xác nhận nội dung của mỗi set.

Với việc này, các loại thịt đã được sắp xếp, đi đến dấu X tối trên tấm thảm xanh, đối diện với tủ lạnh và sử dụng hàm place() để lưu trữ Set shared bạn đã tạo, như sau: player.place(shared). Bằng cách này, bạn sẽ cất đi các nguyên liệu mà bạn không nấu.

Đi đến dấu X màu vàng, đối diện với tủ đựng và sử dụng hàm collect() để thu nhận hằng số danh sách cuối cùng có tên ingredients và sử dụng hàm speak() để xác nhận nội dung của nó. Chuyển các phần tử từ ingredients sang một Set mới tên là set3. Bây giờ, khi bạn có tất cả các nguyên liệu, hãy tạo hai Sets, đặt tên là meal1meal2 bằng cách sử dụng phương thức union để kết hợp tất cả các phần tử cần thiết để nấu ăn.

Đối với meal1, kết hợp set3meat1 như sau: meal1 = set3.union(meat1). Đi đến dấu X tối trên tấm thảm tím và với Set meal1 sử dụng hàm speak() để xác nhận nội dung và hàm place() để nấu bữa ăn trong nồi.

Đối với meal2, làm tương tự, nhưng thay vào đó sử dụng phương thức union với set3meat2. Đi đến dấu X tối trên tấm thảm vàng và đối diện với nồi, sử dụng các hàm speak()place() với meal2 để hoàn thành cấp độ.

Sách Mã