Bài 3: Sử dụng câu lệnh If
Điều hướng mê cung đĩa bằng các câu lệnhIf
Trong Thử thách mê cung đĩa, Robot VR sẽ kiểm tra tình trạng của Cảm biến mắt trước để xem màu nào đang được báo cáo. Mỗi màu sắc tương ứng với một hành vi khác nhau mà Robot VR cần thực hiện.
Để bạn biết
Câu lệnh nếuchỉ chấp nhận các điều kiện Boolean. Sử dụng các mẫu quan sát được khi giải Mê cung đĩa ở Bài 2, có thể tạo ra một dự án trong đó Robot VR đưa ra quyết định xem điều kiện báo cáo là Đúng hay Sai.
nếu điều kiện:
vượt quaCâu lệnh if sẽ chạy một lần trong một dự án. Trong ví dụ này, Cảm biến mắt trước sẽ báo cáo Đúng nếu phát hiện vật thể màu xanh lá cây và thực thi lệnh bên trong câu lệnh if - rẽ phải 90 độ. Nếu không phát hiện được vật thể màu xanh lá cây, dự án sẽ chuyển sang lệnh tiếp theo.
def main():
if front_eye.detect(GREEN):
drivetrain.turn_for(RIGHT, 90, DEGREES)
drivetrain.stop()- Bắt đầu một dự án mới và chọnDisk Maze Playgroundkhi được nhắc.

-
Đặt tên là Unit7Lesson3.

- Thêm bình luận để mô tả mục đích cho hành vi của Robot VR trong từng phần tiếp theo của dự án.
def main():
# Nếu mắt trước phát hiện màu xanh lá cây thì rẽ phải
# Nếu mắt trước phát hiện màu xanh lam thì rẽ trái- Kéo hoặc nhập câu lệnh nếu bên dưới bình luận đầu tiên.
def main():
# Nếu mắt trước phát hiện màu xanh lá cây thì rẽ phải
nếu điều kiện:
vượt qua
# Nếu mắt trước phát hiện màu xanh lam thì rẽ trái- Đặt điều kiện của câu lệnh if thành lệnh front_eye.detectvà đặt tham số thành 'GREEN'.
def main():
# Nếu mắt trước phát hiện màu xanh lá cây thì rẽ phải
if front_eye.detect(GREEN):
pass
# Nếu mắt trước phát hiện màu xanh lam thì rẽ trái- Kéo vào hoặc nhập lệnh turn_for bên trong câu lệnh if để thay thế lệnh 'pass'. Thiết lập các thông số để rẽ phải 90 độ. Bây giờ, nếu Cảm biến mắt trước phát hiện 'XANH LÁ', Robot VR sẽ rẽ phải 90 độ.
def main():
# Nếu mắt trước phát hiện màu xanh lá cây thì rẽ phải
if front_eye.detect(GREEN):
drivetrain.turn_for(RIGHT, 90, DEGREES)
# Nếu mắt trước phát hiện màu xanh lam thì rẽ trái- Chúng ta sẽ làm theo các bước tương tự để thêm các câu lệnhnếu cho cả ba màu trong Disk Maze (xanh lục, xanh lam và đỏ). Mỗi màu sắc có liên quan đến một hành vi khác nhau. Các lệnh bên trong câu lệnh if sẽ cần phải khớp với hành vi mong muốn đó. Thêm các lệnh sau vào dự án bên dưới bình luận thứ hai để nếu Cảm biến mắt trước phát hiện màu 'XANH DƯƠNG', Robot VR sẽ rẽ trái 90 độ.
# Nếu mắt trước phát hiện màu xanh thì rẽ trái
nếu mắt trước. phát hiện (XANH DƯƠNG):
drivetrain.turn_for(TRÁI, 90, ĐỘ)-
Khi Robot VR đến cuối mê cung, Cảm biến mắt trước sẽ phát hiện màu 'ĐỎ'.

- Để dừng VR Robot, cần thêm câu lệnh nếu với hướng dẫn về những việc cần làm nếu Cảm biến mắt trước phát hiện 'ĐỎ'. Thêm bình luận và lệnh sau vào dự án để VR Robot dừng lái nếu phát hiện 'ĐỎ'.
# Nếu mắt trước phát hiện màu đỏ thì dừng
nếu front_eye.detect(RED):
drivetrain.stop()Nếu không có màu nào được phát hiện
Robot VR cũng có thể đưa ra quyết định nếu không nhìn thấy màu nào đó bằng cách sử dụng giá trị 'không có'. Ví dụ, tại điểm bắt đầu của Mê cung đĩa, Cảm biến mắt trước không phát hiện bất kỳ màu nào.
Vì Cảm biến mắt trước không phát hiện được màu khi bắt đầu Mê cung đĩa nên Robot VR sẽ phải di chuyển về phía trước cho đến khi phát hiện ra đĩa màu xanh lá cây. Có thể thêm một câu lệnh nếu nữa để hướng dẫn Robot VR phải làm gì khi không phát hiện thấy màu nào.
- Thêm bình luận và lệnh sau vào dự án để nếu Cảm biến mắt trước không phát hiện bất kỳ màu nào, Robot VR sẽ di chuyển về phía trước.
# Nếu mắt trước không phát hiện thì lái về phía trước
nếu front_eye.detect(NONE):
drivetrain.drive(FORWARD)- Robot VR hiện có hướng dẫn cho từng màu được cảm biến mắt trước phát hiện.
- NếuCảm biến mắt trước phát hiện 'XANH LÁ' – Rẽ phải 90 độ
- NếuCảm biến mắt trước phát hiện 'XANH' – Rẽ trái 90 độ
- NếuCảm biến mắt trước phát hiện 'ĐỎ' – Dừng lái xe
- NếuCảm biến mắt trước phát hiện 'KHÔNG CÓ' –Lái xe về phía trước
- Mở Cửa sổ Sân chơi nếu nó chưa mở. Hãy đảm bảoDisk Maze Playgroundmở ra và chạy dự án. Toàn bộ dự án sẽ trông như thế này:
def main():
# Nếu mắt trước phát hiện màu xanh lá cây thì rẽ phải
if front_eye.detect(GREEN):
drivetrain.turn_for(RIGHT, 90, DEGREES)
# Nếu mắt trước phát hiện màu xanh lam thì rẽ trái
if front_eye.detect(BLUE):
drivetrain.turn_for(LEFT, 90, DEGREES)
# Nếu mắt trước phát hiện màu đỏ thì dừng lại
if front_eye.detect(RED):
drivetrain.stop()
# Nếu mắt trước không phát hiện màu nào thì lái về phía trước
if front_eye.detect(NONE):
drivetrain.drive(FORWARD)- Liệu Robot VR có hoạt động như bạn mong muốn không? Tại sao nên hoặc không nên? Ở trang tiếp theo của Bài học, chúng ta sẽ tìm hiểu thêm về dự án này.
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.