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 độ

Lớp Nâng Cao
Nạp chồng toán tử

Mục tiêu

Tính tổng lượng rượu vang đang được lọc sạch bằng cách sử dụng vector và Nạp chồng toán tử.

Sau khi rượu vang được ép, nó cần được lọc và làm sạch, có nhiều thùng rượu đang được lọc và tất cả chúng cần được xả sạch. Việc tính toán tổng lượng rượu vang được sản xuất là rất quan trọng để các thùng có thể được niêm phong và ủ chín.

Để làm điều này, bạn cần tạo các vector và cộng chúng lại với nhau, chúng tương tự như danh sách nhưng không linh hoạt bằng và tiết kiệm bộ nhớ hơn. Chúng thường được sử dụng để xử lý các tọa độ, trong trường hợp này chúng ta sẽ sử dụng chúng như các biến chứa nhiều hơn một giá trị. Việc cộng các vector lại với nhau được thực hiện bằng cách sử dụng Nạp chồng toán tử, mở rộng chức năng của các đối tượng lớp để có thể sử dụng các toán tử với chúng như bạn làm với các giá trị bình thường.

Để bắt đầu, hãy đi bộ và thu thập các hộp kim loại chứa nước được đặt ở đầu phòng, chúng sẽ được sử dụng để hỗ trợ xả rượu vang đang được lọc trong các thùng. Sau khi thu thập, hãy đi tới dấu X tối trên thảm đỏ, đối diện với thùng rượu và bắt đầu chuyển đổi nội dung của từng thùng thành vector.

Các dấu X được sắp xếp thành các nhóm ba (3) cho mỗi màu thảm, gồm một dấu X màu vàng, một dấu X màu sáng và một dấu X màu tối. Trên tất cả các dấu X màu tối và sáng, sử dụng hàm water() để hỗ trợ xả các thùng. Cũng trên tất cả các dấu X màu tối và sáng, sử dụng hàm read() để xác định lượng rượu vang đang được xử lý trong cột thùng đó. Trên dấu X màu vàng, bạn sử dụng hàm write() để ghi lại tổng số lượng.

Trong trình soạn thảo mã có một lớp có tên vector, lớp này được sử dụng để bạn không chỉ có thể tạo ra một vector mà còn có thể cộng chúng lại với nhau. Tạo các đối tượng vector để lưu trữ dữ liệu được xác định trên các dấu X màu sáng và tối, ví dụ, trên thảm red, rượu vang đỏ đang được lọc:

# Create object using data from dark X mark red_wine_dark = vector(345, 272) # Create object using data from light X mark red_wine_light = vector(248, 432) # Add together vectors for totals red_wine_total = red_wine_dark + red_wine_light

Trong một vector, vị trí đầu tiên được gọi là x và vị trí thứ hai là y, công thức như sau: object_name = vector(x,y). Điều này có liên quan đến việc điền thông tin vào các vector với thông tin thu thập được từ hàm read().

Trên các dấu X màu vàng, sử dụng hàm write() để ghi lại tổng số cho mỗi bộ vector, ví dụ, trong trường hợp của các dấu X trên thảm đỏ, nó được ghi như sau:

await player.write( "There is a total of %s pounds on the left barrels and %s pounds on the right barrels" % (red_wine_total.x, red_wine_total.y)

Nhớ thêm .x và .y ở cuối tổng số để xác định các giá trị của từng vector.

Đối với mỗi bộ thảm có màu khác nhau, có một loại rượu vang khác nhau đang được lọc. Trên thảm được đề cập trước đó là red, lọc rượu vang đỏ; trên thảm yellow, lọc rượu vang sủi bọt; trên thảm green, lọc rượu vang trắng; và trên thảm orange, lọc rượu vang màu cam.

Khi tất cả các dấu X màu sáng và tối đã được xả sạch bằng hàm water() và tất cả các dấu trên dấu X màu vàng đã được ghi chú số lượng tổng, bạn sẽ hoàn thành cấp độ này.

Sách Mã