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

Hàm Nâng Cao
Hàm lồng nhau

Mục tiêu

Thu thập, phân phối lại và cất giữ vải được sản xuất bởi các máy thông qua việc sử dụng hàm lồng nhau.

Đôi khi bạn sẽ muốn đặt hàm bên trong các hàm khác để mở rộng khả năng của hàm đó. Đây được gọi là hàm lồng nhau hoặc hàm bên trong, chúng có nhiều cách sử dụng khác nhau, từ việc tạo mã tái sử dụng đơn giản bên trong một hàm, đến bảo vệ các hàm của bạn khỏi sự thao túng từ bên ngoài.

Bên trong xưởng có một số máy sản xuất vải, một số có sẵn vải để lưu trữ, trong khi một số khác cần chỉ để hoàn thành quá trình sản xuất vải. Mỗi máy có một tấm thảm màu "red" hoặc "green" ở phía trước, điều này sẽ chỉ ra cách sử dụng của máy. Trong trình chỉnh sửa mã, một hàm sẽ được viết để cho phép chúng ta vận hành máy và thu thập hoặc đặt vật liệu từ máy.

def operate_machine(color): def collect_cloth(): # Collect Code player.speak("Cloth is ready for storage") def place_thread(): # Place Code player.speak("Machine needed more materials") if color == "green": collect_cloth() if color == "red": place_thread()

Hàm được đặt tên là operate_machine và có đối số là color. Tùy thuộc vào màu thảm phía trước máy, nhập "red" hoặc "green" làm đối số sẽ thay đổi hoạt động của máy, cho phép bạn đặt hoặc thu thập các vật phẩm.

Bên trong hàm, bạn sẽ thấy hai hàm lồng nhau, có tên collect_cloth()place_thread() được sử dụng cho các mục đích theo đúng tên gọi của chúng. Chúng còn thiếu các dòng lệnh cần thiết để thực hiện hành động; trong collect_cloth() thêm dòng player.collect("cloth") và sau đó là player.speak("Quilt is ready for storage"), còn trong place_thread() thêm dòng player.place("thread") và sau đó là player.speak("Machine needed more materials").

Khi đã thêm các dòng mã còn thiếu vào các hàm lồng nhau, hãy đi đến dấu X sáng ở phía trước thùng và thu thập "thread" để sử dụng trong máy, như thế này player.collect("thread").

Tiếp theo, hãy đi đến các dấu X tối bên trong xưởng và sử dụng hàm tùy chỉnh operate_machine khi đối diện với các máy. Thêm "red" hoặc "green" làm đối số tùy thuộc vào màu thảm mà dấu X được đặt trên đó, ví dụ: operate_machine("red"). Điều này sẽ cho phép bạn đặt chỉ và thu thập vải.

Khi bạn đã thu thập đủ vải, hãy đi đến dấu X màu vàng bên cạnh thùng ở phía sau và sử dụng hàm place() để cất giữ vải. Tạo một biến có tên cloths, gán cho nó số lượng vải bạn đã thu thập và lưu trữ vào thùng để hoàn thành cấp độ, như thế này: player.place(cloths).

Sách Mã