Kontrol#

Perkenalan#

Kontrol dalam Python memungkinkan Anda memberi tahu robot kapan harus menunggu, kapan harus mengulangi tindakan, bagaimana membuat keputusan, dan kapan harus mengakhiri proyek.

Berikut adalah daftar kontrol yang tersedia, termasuk metode dan kata kunci inti Python:

  • wait – Menghentikan sementara proyek untuk waktu tertentu.

  • for – Mengulang kode untuk setiap item dalam urutan.

  • if – Menjalankan kode jika suatu kondisi benar.

  • if/else – Menjalankan kode berbeda tergantung pada suatu kondisi.

  • if/elif/else – Memeriksa beberapa kondisi secara berurutan.

  • while – Mengulang kode selama suatu kondisi benar.

  • break – Keluar dari loop dengan segera.

  • stop_project – Mengakhiri proyek yang sedang berjalan.

  • pass – Placeholder yang digunakan ketika tidak diperlukan tindakan.

Tunggu#

wait berhenti sejenak selama jangka waktu tertentu sebelum melanjutkan ke baris kode berikutnya.

Usage:
wait(time, units)

Parameter

Keterangan

time

Jumlah waktu yang harus ditunggu, sebagai bilangan bulat positif atau desimal.

units

Satuan yang mewakili waktu tunggu: MSEC (standar) – milidetik, atau 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)

untuk#

for mengulangi serangkaian tindakan sejumlah kali tertentu. for dapat digunakan untuk mengulang item dalam daftar, tuple, kamus, himpunan, string, atau untuk jumlah perulangan tertentu dengan range.

Penggunaan:

for value in expression_list:
    pass

Komponen

Keterangan

value

Variabel sementara yang menyimpan elemen saat ini dalam iterasi.

expression_list

Kumpulan elemen yang sedang diulang (misalnya, daftar, string, rentang).

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)

jika#

if menjalankan blok kode yang diindentasi jika kondisinya True.

Penggunaan:

if condition:
    pass

Komponen

Keterangan

condition

Ekspresi atau variabel yang diperiksa saat pernyataan dijalankan. Jika nilainya True, kode di dalam blok if akan dieksekusi; jika nilainya False, blok tersebut dilewati.

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)

jika/lainnya#

if dan else tentukan blok kode yang diindentasi mana yang dijalankan berdasarkan apakah kondisinya True atau False.

Penggunaan:

if condition:
    pass
else:
    pass

Komponen

Keterangan

condition

Ekspresi atau variabel yang diperiksa saat pernyataan dijalankan. Jika nilainya True, kode di dalam blok if akan dieksekusi; jika nilainya False, kode di dalam blok else akan dieksekusi sebagai gantinya.

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)

jika/elif/lainnya#

Struktur if/elif/else memilih blok kode yang diindentasi mana yang akan dijalankan berdasarkan kondisi:

  • if menjalankan bloknya jika kondisinya adalah True.

  • elif memeriksa kondisi tambahan hanya jika semua kondisi sebelumnya adalah False. Beberapa elif pernyataan dapat digunakan.

  • else menjalankan blok ini hanya jika tidak ada kondisi sebelumnya yang benar True.

Penggunaan:

if condition:
    pass
elif condition:
    pass
else:
    pass

Komponen

Keterangan

condition

Ekspresi atau variabel yang diperiksa saat pernyataan dijalankan. Kondisi pertama yang bernilai True menentukan blok mana yang dieksekusi; jika tidak ada yang bernilai True, blok else akan dijalankan.

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)

ketika#

while menjalankan kode berulang kali selama kondisinya TrueIni juga dapat digunakan seperti “selamanya” dengan menggunakan True sebagai kondisi, atau “tunggu sampai” dengan menambahkan not ke kondisi, seperti yang ditunjukkan pada contoh di bawah ini.

Penggunaan:

while condition:
    pass

Komponen

Keterangan

condition

Ekspresi atau variabel yang diperiksa sebelum setiap iterasi. Jika nilainya True, maka perulangan berlanjut; jika nilainya False, maka perulangan berhenti.

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)

merusak#

break keluar dari loop secara langsung. break dapat digunakan untuk keluar dari loop yang jika tidak akan terus berulang tanpa henti.

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)

hentikan_proyek#

stop_project mengakhiri proyek yang sedang berjalan.

Usage:
stop_project()

Parameter

Keterangan

Metode ini tidak memiliki parameter.

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)

lulus#

pass adalah tempat penampung untuk kode di masa mendatang dan dapat digunakan untuk menghindari kesalahan dalam perulangan kosong, kondisional, dan fungsi.

if condition:
    pass

def function():
    pass