Đ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 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_program – Kết thúc chương trình đ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

# Build Used: Super Code Base 2.0
def main():
    # Turn right for one second
    drivetrain.turn(RIGHT)
    wait(1, SECONDS)
    drivetrain.stop()

# Start threads — Do not delete
start_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).

# Build Used: Super Code Base 2.0
def main():
    # Move in a square path
    for index in range(4):
        drivetrain.drive_for(FORWARD, 100, MM)
        drivetrain.turn_for(RIGHT, 90)

# Start threads — Do not delete
start_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.

# Build Used: Super Code Base 2.0
def main():
    # Turn when the bumper is pressed
    while True:
        if bumper.is_pressed():
            drivetrain.turn_for(RIGHT, 90)
        wait(0.1, SECONDS)

# Start threads — Do not delete
start_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ế.

# Build Used: Super Code Base 2.0
def main():
    # Turn when the bumper is pressed
    while True:
        if bumper.is_pressed():
            drivetrain.turn(RIGHT)
        else:
            drivetrain.stop()
        wait(0.1, SECONDS)

# Start threads — Do not delete
start_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.

# Build Used: Super Code Base 2.0
def main():
    # Change the LED while turning
    drivetrain.turn(RIGHT)
    while True:
        if drivetrain.get_heading() < 120:
            bumper.set_color(OFF)
        elif drivetrain.get_heading() < 240:
            bumper.set_color(RED)
        else:
            bumper.set_color(GREEN)
        wait(0.2, SECONDS)

# Start threads — Do not delete
start_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.

# Build Used: Super Code Base 2.0
def main():
    # Turn when the bumper is pressed
    while True:
        if bumper.is_pressed():
            drivetrain.turn(RIGHT)
        else:
            drivetrain.stop()
        wait(0.1, SECONDS)

# Start threads — Do not delete
start_thread(main)

# Build Used: Super Code Base 2.0
def main():
    # Turn the other direction when the bumper is pressed
    drivetrain.turn(LEFT)
    while not bumper.is_pressed():
        wait(0.2, SECONDS)
    drivetrain.turn(RIGHT)

# Start threads — Do not delete
start_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.

Cách sử dụng:

break

Thông số

Sự miêu tả

Từ khóa này không có tham số.

# Build Used: Super Code Base 2.0
def main():
    # Stop turning after pressing the bumper
    while True:
        drivetrain.turn(RIGHT)
        if bumper.is_pressed():
            break
        wait(0.2, SECONDS)
    drivetrain.stop()
    bumper.set_color(RED)

# Start threads — Do not delete
start_thread(main)

dừng chương trình#

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

Usage:
stop_program()

Thông số

Sự miêu tả

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

# Build Used: Super Code Base 2.0
def main():
    # Stop the project after pressing the bumper
    while True:
        drivetrain.turn(RIGHT)
        if bumper.is_pressed():
            break
        wait(0.2, SECONDS)
    stop_program()

# Start threads — Do not delete
start_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.

Cách sử dụng:

pass

Thông số

Sự miêu tả

Từ khóa này không có tham số.

if condition:
    pass

def function():
    pass