Kontrol#
giriiş#
Python’da kontrol özelliği, robota ne zaman beklemesi gerektiğini, ne zaman eylemleri tekrarlaması gerektiğini, nasıl kararlar alması gerektiğini ve projeyi ne zaman sonlandırması gerektiğini söylemenizi sağlar.
Aşağıda, yöntemler ve temel Python anahtar kelimeleri de dahil olmak üzere mevcut kontrollerin bir listesi bulunmaktadır:
wait– Projeyi belirli bir süre için duraklatır.for– Bir dizideki her öğe için kodu tekrarlar.if– Bir koşul doğruysa kodu çalıştırır.if/else– Bir koşula bağlı olarak farklı kod çalıştırır.if/elif/else– Birden fazla koşulu sırayla kontrol eder.while– Bir koşul doğru olduğu sürece kodu tekrarlar.break– Döngüyü hemen sonlandırır.stop_program– Çalışmakta olan programı sonlandırır.pass– Herhangi bir işlem gerekmediğinde kullanılan yer tutucu.
Beklemek#
wait , bir sonraki kod satırına geçmeden önce belirli bir süre bekler.
Usage:wait(time, units)
Parametreler |
Tanım |
|---|---|
|
Bekleme süresi, pozitif bir tam sayı veya ondalık sayı olarak. |
|
Bekleme süresini temsil eden birim: |
# 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)
için#
for bir dizi eylemi belirli sayıda tekrarlar. for , listelerdeki, demetlerdeki, sözlüklerdeki, kümelerdeki, dizelerdeki öğeler arasında veya range ile belirtilen sayıda döngü için döngü yapmak için kullanılabilir.
Kullanım:
for value in expression_list:
pass
Bileşenler |
Tanım |
|---|---|
|
Döngüdeki geçerli öğeyi saklayan geçici bir değişken. |
|
Döngüde kullanılan öğelerin koleksiyonu (örneğin, liste, dize, aralık). |
# 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)
eğer#
if koşul doğruysa girintili kod bloğunu çalıştırır True.
Kullanım:
if condition:
pass
Bileşenler |
Tanım |
|---|---|
|
İfade çalıştırıldığında kontrol edilen bir ifade veya değişken. Eğer değeri |
# 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)
eğer/aksi takdirde#
if ve else koşulun True veya False olmasına bağlı olarak hangi girintili kod bloğunun çalışacağını belirleyin.
Kullanım:
if condition:
pass
else:
pass
Bileşenler |
Tanım |
|---|---|
|
İfade çalıştırıldığında kontrol edilen bir ifade veya değişken. Eğer değeri |
# 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)
eğer/elif/else#
if/elif/else yapısı, koşullara bağlı olarak hangi girintili kod bloğunun çalışacağını seçer:
ifkoşul doğruysa bloğunu çalıştırırTrue.elifyalnızca önceki tüm koşullarFalseise ek koşulları kontrol eder. Birden fazlaelififadesi kullanılabilir.elsebloğunu yalnızca önceki koşullardan hiçbiri doğru değilse çalıştırırTrue.
Kullanım:
if condition:
pass
elif condition:
pass
else:
pass
Bileşenler |
Tanım |
|---|---|
|
İfade çalıştırıldığında kontrol edilen bir ifade veya değişken. |
# 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)
sırasında#
while repeatedly runs code as long as the condition is True. It can also be used like a “forever” by using True as the condition, or a “wait until” by adding not to the condition, as shown in the examples below.
Kullanım:
while condition:
pass
Bileşenler |
Tanım |
|---|---|
|
Her yinelemeden önce kontrol edilen bir ifade veya değişken. Eğer değeri |
# 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)
kırmak#
break bir döngüyü hemen sonlandırır. break aksi takdirde sonsuza kadar sürecek olan döngülerden çıkmak için kullanılabilir.
Kullanım:
break
Parametreler |
Tanım |
|---|---|
Bu anahtar kelimenin parametresi yok. |
# 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)
programı durdur#
stop_program çalışan bir projeyi sonlandırır.
Usage:stop_program()
Parametreler |
Tanım |
|---|---|
Bu yöntemin parametresi yoktur. |
# 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)
geçmek#
pass , gelecekteki kod için bir yer tutucudur ve boş döngülerde, koşullu ifadelerde ve fonksiyonlarda hataları önlemek için kullanılabilir.
Kullanım:
pass
Parametreler |
Tanım |
|---|---|
Bu anahtar kelimenin parametresi yok. |
if condition:
pass
def function():
pass