Điều khiển#

Giới thiệu#

Lập trình điều khiển bằng Python cho phép bạn ra lệnh cho robot khi nào cần chờ, khi nào cần lặp lại hành động, cách đưa ra quyết định và khi nào cần kết thúc dự án.

Dưới đây là danh sách các điều khiển có sẵn, bao gồm các phương thức và từ khóa cốt lõi của Python:

  • wait – Tạm dừng dự án trong một khoảng thời gian nhất định.

  • for – Lặp lại mã cho mỗi mục trong một chuỗi.

  • if – Chạy mã nếu điều kiện đúng.

  • if/else – Chạy mã khác nhau tùy thuộc vào điều kiện.

  • if/elif/else – Kiểm tra nhiều điều kiện theo thứ tự.

  • while – Lặp lại mã khi một điều kiện đúng.

  • break – Thoát khỏi vòng lặp ngay lập tức.

  • stop_project – Kết thúc dự án đang chạy.

  • pass – Trình giữ chỗ được sử dụng khi không cần hành động nào.

Chờ đợi#

wait tạm dừng trong một khoảng thời gian cụ thể trước khi chuyển sang dòng mã tiếp theo.

Usage:
wait(time, units)

Thông số

Sự miêu tả

time

Khoảng thời gian chờ đợi, được thể hiện dưới dạng số nguyên dương hoặc số thập phân.

units

Đơn vị biểu thị thời gian chờ: MSEC (mặc định) – mili giây, hoặc SECONDS

def main():
    # Turn right for one second, then stop
    drivetrain.turn(RIGHT)
    wait(1, SECONDS)
    drivetrain.stop()

# VR threads — Do not delete
vr_thread(main)

vì#

for lặp lại một tập hợp các hành động một số lần cụ thể. for có thể được sử dụng để lặp qua các mục trong danh sách, bộ dữ liệu, từ điển, tập hợp, chuỗi hoặc cho một số vòng lặp được chỉ định với range.

Cách sử dụng:

for value in expression_list:
    pass

Các thành phần

Sự miêu tả

value

Một biến tạm thời lưu trữ phần tử hiện tại trong vòng lặp.

expression_list

Tập hợp các phần tử được lặp qua (ví dụ: danh sách, chuỗi, phạm vi).

def main():
    # Move in a square path
    for index in range(4):
        drivetrain.drive_for(FORWARD, 100, MM)
        drivetrain.turn_for(RIGHT, 90, DEGREES)

# VR threads — Do not delete
vr_thread(main)

def main():
    # Print each item in the list
    colors = ["Red", "Green", "Blue"]

    for color in colors:
        brain.print(color)
        brain.new_line()

# VR threads — Do not delete
vr_thread(main)

nếu như#

if chạy khối mã thụt lề nếu điều kiện là True.

Cách sử dụng:

if condition:
    pass

Các thành phần

Sự miêu tả

condition

Một biểu thức hoặc biến được kiểm tra khi câu lệnh được thực thi. Nếu nó là True, mã bên trong khối if sẽ được thực thi; nếu nó là False, khối đó sẽ bị bỏ qua.

def main():
    # Turn right until facing south
    while True:
        if drivetrain.heading(DEGREES) < 180:
            drivetrain.turn_for(RIGHT, 90, DEGREES)
        wait(0.1, SECONDS)

# VR threads — Do not delete
vr_thread(main)

nếu/ngược lại#

if và else xác định khối mã thụt lề nào sẽ chạy dựa trên việc điều kiện là True hay False.

Cách sử dụng:

if condition:
    pass
else:
    pass

Các thành phần

Sự miêu tả

condition

Một biểu thức hoặc biến được kiểm tra khi câu lệnh được thực thi. Nếu nó là True, mã bên trong khối if sẽ được thực thi; nếu nó là False, mã bên trong khối else sẽ được thực thi thay thế.

def main():
    # Drive after turning around
    while True:
        if drivetrain.rotation(DEGREES) < 180:
            drivetrain.turn_for(RIGHT, 90, DEGREES)
        else:
            drivetrain.drive(FORWARD)
        wait(0.1, SECONDS)

# VR threads — Do not delete
vr_thread(main)

if/elif/else#

Cấu trúc if/elif/else lựa chọn khối mã thụt lề nào sẽ được thực thi dựa trên các điều kiện:

  • if chạy khối lệnh của nó nếu điều kiện là True.

  • elif chỉ kiểm tra các điều kiện bổ sung nếu tất cả các điều kiện trước đó đều là FalseCó thể sử dụng nhiều câu lệnh elif.

  • else chỉ chạy khối lệnh của nó nếu không có điều kiện nào trong các điều kiện trước đó là True.

Cách sử dụng:

if condition:
    pass
elif condition:
    pass
else:
    pass

Các thành phần

Sự miêu tả

condition

Một biểu thức hoặc biến được kiểm tra khi câu lệnh được thực thi. Điều kiện đầu tiên đúng ( True sẽ xác định khối lệnh nào được thực thi; nếu không có điều kiện nào đúng True, thì khối lệnh ( else sẽ được thực thi.

def main():
    # Move depending on the detected color
    while True:
        if front_eye.detect(RED):
            drivetrain.drive(FORWARD)
        elif front_eye.detect(GREEN):
            drivetrain.drive(REVERSE)
        else:
            drivetrain.turn(RIGHT)
        wait(0.1, SECONDS)

# VR threads — Do not delete
vr_thread(main)

trong khi#

Vòng lặp while sẽ chạy mã liên tục miễn là điều kiện TrueNó cũng có thể được sử dụng như một vòng lặp “vĩnh viễn” bằng cách sử dụng True làm điều kiện, hoặc một vòng lặp “chờ cho đến khi” bằng cách thêm not vào điều kiện, như được hiển thị trong các ví dụ bên dưới.

Cách sử dụng:

while condition:
    pass

Các thành phần

Sự miêu tả

condition

Một biểu thức hoặc biến được kiểm tra trước mỗi lần lặp. Nếu nó bằng True, vòng lặp tiếp tục; nếu nó bằng False, vòng lặp dừng lại.

def main():
    while True:
        # Move in a square path forever
        drivetrain.drive_for(FORWARD, 150, MM)
        drivetrain.turn_for(RIGHT, 90, DEGREES)

# VR threads — Do not delete
vr_thread(main)

def main():
    # Wait until an object is detected to stop driving
    drivetrain.drive(FORWARD)
    while not front_distance.found_object():
        wait(50, MSEC)
    drivetrain.stop()

# VR threads — Do not delete
vr_thread(main)

phá vỡ#

break thoát khỏi vòng lặp ngay lập tức. break có thể được sử dụng để thoát khỏi các vòng lặp mà nếu không sẽ lặp vô hạn.

def main():
    # Stop turning after a button is pressed
    while True:
        drivetrain.turn(RIGHT)
        if front_distance.found_object():
            break
    drivetrain.stop()

# VR threads — Do not delete
vr_thread(main)

dừng dự án#

stop_project kết thúc một dự án đang chạy.

Usage:
stop_project()

Thông số

Sự miêu tả

Phương pháp này không có tham số.

def main():
    # Stop the project after a button is pressed
    while True:
        drivetrain.turn(RIGHT)
        if front_distance.found_object():
            stop_program()
        drivetrain.drive(FORWARD)

# VR threads — Do not delete
vr_thread(main)

vượt qua#

pass là một ký tự giữ chỗ cho mã lệnh trong tương lai và có thể được sử dụng để tránh lỗi trong các vòng lặp rỗng, câu lệnh điều kiện và hàm.

if condition:
    pass

def function():
    pass