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 semua kontrol, 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_program – Mengakhiri program 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

# Move right for one second, then stop
robot.move_at(90)
wait(1, SECONDS)
robot.stop_all_movement()

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).

# Move in a square path.
for index in range(4):
    robot.move_for(50, 0)
    robot.turn_for(RIGHT, 90)

# Print each item in the list
colors = ["Red", "Green", "Blue"]

for color in colors:
    robot.screen.print(color)
    robot.screen.next_row()

Menampilkan tiga objek yang dicetak di layar.

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.

# Kick when the screen is pressed
while True:
    if robot.screen.pressing():
        robot.kicker.kick(MEDIUM)
    wait(0.1, SECONDS)

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.

# Show one emoji when the screen is pressed,
# and a different emoji when not pressed
while True:
    if robot.screen.pressing():
        robot.screen.show_emoji(EXCITED)

    else:
        robot.screen.show_emoji(BORED)
    
    wait(0.1, SECONDS)

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.

# Move the robot forward or reverse
# based on the position of the joystick
def when_axis_changed():
    position = controller.axis1.position()
    if position > 0:
        robot.move_at(0)
    elif position < 0:
        robot.move_at(180)
    else:
        robot.stop_all_movement()

controller.axis1.changed(when_axis_changed)

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.

# Keep the LEDs green while the robot is moving
robot.move_for(200, 0, wait=False)
while robot.is_move_active():
    robot.led.on(ALL_LEDS, GREEN)
    wait(50, MSEC)

robot.led.on(ALL_LEDS, BLACK)

while True:
    # Continually flash all LEDs red then green.
    robot.led.on(ALL_LEDS, RED)
    wait(0.5, SECONDS)
    robot.led.on(ALL_LEDS, GREEN)
    wait(0.5, SECONDS)

# Wait until the screen is pressed before
# turning off the LEDs
while not robot.screen.pressing():
    robot.led.on(ALL_LEDS, RED)
    wait(50, MSEC)

robot.led.on(ALL_LEDS, BLACK)

Merusak#

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

# Flash LEDs until the screen is pressed
while True:
    robot.led.on(ALL_LEDS, RED)
    wait(0.5, SECONDS)
    robot.led.on(ALL_LEDS, GREEN)
    wait(0.5, SECONDS)

    if robot.screen.pressing():
        break

# Turn the LEDs Off
robot.led.off(ALL_LEDS)

Hentikan Program#

stop_program mengakhiri proyek yang sedang berjalan.

Usage:
robot.stop_program()

Parameter

Keterangan

Metode ini tidak memiliki parameter.

# Stop the project once the screen is pressed
while True:
    robot.led.on(ALL_LEDS, RED)
    wait(0.5, SECONDS)
    robot.led.on(ALL_LEDS, GREEN)
    wait(0.5, SECONDS)
    if robot.screen.pressing():
        robot.stop_program()

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