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

time

Bekleme süresi, pozitif bir tam sayı veya ondalık sayı olarak.

units

Bekleme süresini temsil eden birim: MSEC (varsayılan) – milisaniye veya SECONDS

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

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

value

Döngüdeki geçerli öğeyi saklayan geçici bir değişken.

expression_list

Döngüde kullanılan öğelerin koleksiyonu (örneğin, liste, dize, aralık).

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

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

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

Ekranın sol tarafında üç satır beyaz metin bulunan IQ Brain ekranının bir ekran görüntüsü. İlk satırda Kırmızı, hemen altındaki ikinci satırda Yeşil ve onun altındaki üçüncü satırda Mavi yazıyor.

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

condition

İfade çalıştırıldığında kontrol edilen bir ifade veya değişken. Eğer değeri Trueise, if bloğunun içindeki kod yürütülür; eğer değeri Falseise, blok atlanır.

# Turn right when a button is pressed
while True:
    if brain.buttonCheck.pressing():
        drivetrain.turn_for(RIGHT, 90)
    wait(0.1, SECONDS)

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

condition

İfade çalıştırıldığında kontrol edilen bir ifade veya değişken. Eğer değeri Trueise, if bloğunun içindeki kod çalışır; eğer değeri Falseise, bunun yerine else bloğunun içindeki kod çalışır.

# Turn right when a button is pressed, and remain still
# when the button is not pressed
while True:
    if brain.buttonCheck.pressing():
        drivetrain.turn(RIGHT)
    else:
        drivetrain.stop()
    wait(0.1, SECONDS)

eğer/elif/else#

if/elif/else yapısı, koşullara bağlı olarak hangi girintili kod bloğunun çalışacağını seçer:

  • if koşul doğruysa bloğunu çalıştırır True.

  • elif yalnızca önceki tüm koşullar Falseise ek koşulları kontrol eder. Birden fazla elif ifadesi kullanılabilir.

  • else bloğunu yalnızca önceki koşullardan hiçbiri doğru değilse çalıştırır True.

Kullanım:

if condition:
    pass
elif condition:
    pass
else:
    pass

Bileşenler

Tanım

condition

İfade çalıştırıldığında kontrol edilen bir ifade veya değişken. True koşulu, hangi bloğun çalıştırılacağını belirler; eğer hiçbiri Truedeğilse, else bloğu çalışır.

# Turn depending on what button is pressed
while True:
    if brain.buttonRight.pressing():
        drivetrain.turn(RIGHT)
    elif brain.buttonLeft.pressing():
        drivetrain.turn(LEFT)
    else:
        drivetrain.stop()
    wait(0.1, SECONDS)

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

condition

Her yinelemeden önce kontrol edilen bir ifade veya değişken. Eğer değeri Trueise döngü devam eder; eğer değeri Falseise döngü durur.

# Keep the screen green while the robot is moving
drivetrain.drive_for(FORWARD, 200, MM, wait=False)
while drivetrain.is_moving():
    brain.screen.clear_screen(Color.GREEN)
    wait(50, MSEC)

brain.screen.clear_screen(Color.BLACK)

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

# Wait until a button is pressed to stop driving
drivetrain.drive(FORWARD)
while not brain.buttonCheck.pressing():
    wait(50, MSEC)
drivetrain.stop()

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.

# Stop turning after a button is pressed
while True:
    drivetrain.turn(RIGHT)
    if brain.buttonCheck.pressing():
        break
drivetrain.stop()
brain.play_sound(SoundType.POWER_DOWN)

programı durdur#

program_stop çalışan bir projeyi sonlandırır.

Usage:
brain.program_stop()

Parametreler

Tanım

Bu yöntemin parametresi yoktur.

# Stop the project after a button is pressed
while True:
    drivetrain.turn(RIGHT)
    if brain.buttonCheck.pressing():
        brain.program_stop()
    brain.play_sound(SoundType.POWER_DOWN)

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.

if condition:
    pass

def function():
    pass