Bài 2: Lặp lại hành động
Bây giờ, khi VR Robot đã vẽ một hình vuông trên Art Canvas Playground bằng Bút, bạn sẽ học cách sử dụng chovòng lặp và đơn giản hóa dự án của mình. Bài học này sẽ hướng dẫn bạn các bước để vẽ một hình vuông trên Art Canvas Playground bằng cách sử dụng vòng lặpcho.

Kết quả học tập
- Xác định cách sử dụng vòng lặp cho để lặp lại các lệnh bên trong vòng lặp đó với số lần nhất định.
- Xác định rằng vòng lặp cho bao gồm một biến 'giá trị' và một hàm phạm viđể xác định số lần lặp lại.
- Xác định hàm sốphạm vicủa vòng lặpchoxác định vòng lặp sẽ lặp lại bao nhiêu lần.
- Xác định rằng hàmrangecủa vòng lặpforcó thể chấp nhận số nguyên làm tham số.
- Mô tả lý do tại sao vòng lặp cho được sử dụng trong một dự án.
- Mô tả luồng của một dự án có vòng lặp cho.
Đổi tên dự án
- Nếu dự án của Bài học trước chưa được tải, hãy tải dự án Unit3Lesson1.
- Đổi tên dự án bằng cách chọn hộp tên dự án.

- Nhập tên dự án mới Unit3Lesson2và chọn “Lưu”.

Hành động lặp lại
Vòng lặp cho được sử dụng để lặp lại các lệnh bên trong nó một số lần nhất định. Vòng lặp cho giúp tiết kiệm thời gian và công sức khi tạo các dự án có lệnh lặp lại. Thay vì mất thời gian kéo hoặc nhập các lệnh bổ sung hoặc sao chép các lệnh hiện có trong không gian làm việc, bạn có thể sử dụng vòng lặp chođể tiết kiệm không gian và thời gian.
Dự án này sẽ sử dụng vòng lặpchođể điều khiển VR Robot vẽ bốn cạnh của hình vuông bằng cách lặp lại các lệnh vẽ một cạnh, bốn lần.
- Bắt đầu bằng cách sửa đổi dự án trước đó, sao chép dự án bên dưới hoặc tạo một dự án mới phù hợp với dự án cơ sở này.
def main():
pen.move(DOWN)
drivetrain.drive_for(FORWARD, 600, MM)
drivetrain.turn_for(RIGHT, 90, DEGREES)
drivetrain.drive_for(FORWARD, 600, MM)
drivetrain.turn_for(RIGHT, 90, DEGREES)
drivetrain.drive_for(FORWARD, 600, MM)
drivetrain.turn_for(RIGHT, 90, DEGREES)
drivetrain.drive_for(FORWARD, 600, MM)
drivetrain.turn_for(RIGHT, 90, DEGREES)
-
Các lệnh lặp lại trong dự án này là lệnhdrive_forvà lệnhturn_for. Xóa sáu lệnh dưới cùng trong dự án, do đó chỉ còn lại một lệnhdrive_forvà một lệnh turn_forbên dưới lệnhmove, và dự án sẽ trông như thế này:
def main(): pen.move(DOWN) drivetrain.drive_for(FORWARD, 600, MM) drivetrain.turn_for(RIGHT, 90, DEGREES) -
Kéo vòng lặpforvào cuối hàm chính để dự án của bạn trông như thế này. Lưu ý rằng vòng lặpforsẽ tự động điền lệnhwaitbên trong. Không xóa lệnhwait, điều này sẽ đảm bảo VR Robot hoạt động chính xác.
def main(): pen.move(DOWN) drivetrain.drive_for(FORWARD, 600, MM) drivetrain.turn_for(RIGHT, 90, DEGREES) for repeat_count in range(10): wait(5, MSEC) - Để vòng lặpcholặp lại các lệnh Truyền động để vẽ một cạnh của hình vuông, các lệnh đó cần nằm trong vòng lặp cho, được biểu thị bằng dấu thụt lề. Thêm hai dòng giữa vòng lặpforvà lệnhwaitđể tạo khoảng trống cho lệnh Drivetrain.

- Tiếp theo, để di chuyển các lệnh Drivetrain vào bên trong vòng lặp cho , hãy sao chép và dán các lệnh bên dưới tiêu đề vòng lặp cho , tô sáng các lệnh và kéo các lệnh drive_for và turn_for giữa tiêu đề vòng lặp và lệnh waithoặc sao chép và dán chúng từ dự án bên dưới.
def main():
pen.move(DOWN)
cho giá trị trong phạm vi(10):
drivetrain.drive_for(FORWARD, 600, MM)
drivetrain.turn_for(RIGHT, 90, DEGREES)
wait(5, MSEC)- Đảm bảo rằng các lệnh bên trong vòng lặp cho được thụt lề đúng cách, sử dụng đường màu xám ở bên trái làm hướng dẫn cho biết lệnh nào nằm trong vòng lặp cho
Để bạn biết
quan trọng trong. Việc thụt lề của lệnh sẽ quyết định cách thực hiện một dự án. Trong trường hợp vòng lặpfor, các lệnh thụt lề bên trong vòng lặp sẽ được chạy như một phần của vòng lặp. Bạn có thể sử dụng các dòng bên trái lệnh như hướng dẫn trực quan về cách nhóm các lệnh trong một vòng lặp.

Lỗi thụt lề có thể ảnh hưởng đến luồng dự án của bạn và khiến dự án không chạy như mong đợi. Bạn nên tránh tình trạng thiếu thụt lề hoặc thụt lề không đều như minh họa ở đây để mã của bạn hoạt động theo đúng ý định.

VEXcode VR có thể nhắc bạn giải quyết lỗi thụt lề trước khi có thể chạy dự án. Những lỗi này có thể được xác định trong Print Console để bạn có thể dễ dàng giải quyết vấn đề và chạy dự án của mình.
- Bây giờ lệnh Drivetrain để vẽ một cạnh của hình vuông nằm trong vòng lặp, tham số của hàm rangecó thể được thiết lập. Để vẽ một hình vuông, cần phải vẽ bốn cạnh. Để lặp lại các lệnh bốn lần, hãy đặt tham số của hàm range trong tiêu đề vòng lặp for thành “4” để Robot VR vẽ cả bốn cạnh của một hình vuông.

Để bạn biết
Hàm range trong tiêu đề vòng lặpfor có thể chấp nhận số nguyên. Số thập phân (hoặc số thực) sẽ không hoạt động như một tham số cho vòng lặp cho . Tham số mặc định cho hàmrangelà '10'.

- Chọn nút “Mở Sân chơi” để mở Art Canvas Sân chơi nếu nó chưa được mở và bắt đầu dự án.

-
Xem Robot VR tiến về phía trước và rẽ phải bốn lần trên Art Canvas Playground để vẽ một hình vuông bằng Bút.

Chọn nút Tiếp theo để tiếp tục phần còn lại của Bài học này.