Anahtar#
giriiş#
Switch blokları, öğrencilerin blok tabanlı kodlamadan metin tabanlı kodlamaya geçişine yardımcı olur. Switch blokları ile öğrenciler, bir blok projesinin içine doğrudan Python kodu yazabilirler (komutlar, koşullar, değerler veya fonksiyon tanımları) ve projenin geri kalanını bloklarla oluşturmaya devam edebilirler. Bireysel bloklar ayrıca eşdeğer Python komutlarına dönüştürülebilir.
Python komutlarını, yöntemlerini ve operatörlerini nasıl yazacağınızı öğrenmek için VEXcode AIR Python API’ye bakın.
Switch blokları Python kodu içerdiğinden, projenin beklendiği gibi çalışması için yazım, noktalama ve girintileme kurallarına uyulması gerekir.
Aşağıda tüm Switch bloklarının listesi bulunmaktadır:
Blokları Değiştir — Bir Blok projesine Python kodu ekleyin.
Yığın — Diğer yığın bloklarıyla sırayla çalışan Python komutlarını yazmak için bir alan sağlar.
C Bloğu —
if,whileveyaforifadeleri gibi Python kontrol kodunu yazmak için bir alan sağlar.C Genişletilebilir —
if,elifveyaelsegibi birden fazla dallanma içeren Python kontrol kodunu yazmak için bir alan sağlar.Mantıksal —
TrueveyaFalsedöndüren Python kodunu yazmak için bir alan sağlar.Muhabir — Değer döndüren Python kodunu yazmak için bir alan sağlar.
Şapka — Bir Python fonksiyonu tanımlamak için alan sağlar.
Yığın#
Stack bloğu, diğer stack bloklarıyla birlikte sırayla çalışan Python komutlarını yazmak için bir alan sağlar.
[] :: custom-switch
Bir Yığın bloğu, tek satır veya birden fazla satır Python kodu içerebilir.
başladığında
[Take off, wait 1 second, then land.]
[drone.take_off(500)] :: custom-switch
[1] saniye bekle
iniş yap ▶
C Bloğu#
C Bloğu, ifise, whileveya for gibi Python kontrol kodlarını yazmak için bir alan sağlar. C Bloğu içine yerleştirilen bloklar, bu Python kontrol yapısının bir parçası olarak çalışır.
if [] :: custom-switch
son
Bir C bloğunda kullanılabilen Python kontrol kodu şunları içerir:
başladığında
[Move with the controller until button 7 is pressed.]
[500] [mm v] yüksekliğe kalkış yap ▶
if [while not controller.button7.pressing():] :: custom-switch
kumandayla hareket et
son
iniş yap ▶
C Genişletilebilir#
C Genişletilebilir bloğu, ifise, elifise veya elsegibi birden fazla dallanma içeren Python kontrol kodunu yazmak için bir alan sağlar. Artı okunu seçerek ek dallanmalar eklenebilir.
if [] :: custom-switch-expand
son
C Genişletilebilir bloğunda kullanılabilen Python kontrol kodu şunları içerir:
başladığında
[Climb up or down with buttons 5 and 6.]
[500] [mm v] yüksekliğe kalkış yap ▶
sonsuza kadar
if [if controller.button5.pressing():] :: custom-switch-expand
[yukarı v] yönünde tırman
else [elif controller.button6.pressing():] :: custom-switch-expand
[aşağı v] yönünde tırman
else [else:] :: custom-switch-expand
askıda kal
son
son
Mantıksal#
Boolean bloğu, True Doğru) veya FalseYanlış) değerlerini döndüren Python kodunu yazmak için bir alan sağlar. Altıgen girişlere sahip blokların içine yerleştirilebilir.
<[] :: custom-switch>
Bir Mantıksal blok, bir Python koşulu içerebilir.
<[controller.button7.pressing()] :: custom-switch>
Bir Mantıksal blok, mantıksal operatörleri de kullanabilir:
<[controller.button5.pressing() and controller.button7.pressing()] :: custom-switch>
Bir Mantıksal blok, değerleri karşılaştırmak için karşılaştırma operatörlerini kullanabilir:
Büyüktür:
>Küçüktür:
<Eşittir:
==Diğer karşılaştırma operatörleri
<=,!=ve>=’i içerir.
<[drone.inertial.get_heading()> 100] :: custom-switch>
başladığında
[Move with the controller until button 7 is pressed.]
[500] [mm v] yüksekliğe kalkış yap ▶
<[controller.button7.pressing()] :: custom-switch> olana kadar tekrarla
kumandayla hareket et
son
iniş yap ▶
Muhabir#
Reporter bloğu, değer döndüren Python kodunu yazmak için bir alan sağlar. Dairesel girişlere sahip blokların içine yerleştirilebilir.
([] :: custom-switch)
Bir Reporter bloğu, değer döndüren Python kodu içerebilir.
([drone.get_altitude()] :: custom-switch)
Matematiksel operatörler bir Reporter bloğunda kullanılabilir:
([drone.get_altitude() + 45] :: custom-switch)
başladığında
[Display the altitude after climbing for 3 seconds.]
[500] [mm v] yüksekliğe kalkış yap ▶
[yukarı v] yönünde tırman
[3] saniye bekle
ekranda ([drone.get_altitude()] :: custom-switch) yazdır ▶
iniş yap ▶
Şapka#
Şapka bloğu, bir Python fonksiyonu tanımlamak için bir alan sağlar. Şapka altına eklenen bloklar, o fonksiyonun gövdesini oluşturur.
[] :: hat custom-switch
Şapka bloğunun içine bir Python fonksiyon tanımı yazın. Parametreler parantez içine yazılır. Fonksiyon parametre kullanmıyorsa, boş parantez kullanın.
[def function_name(parameter):] :: hat custom-switch
[def take_off_500():] :: hat custom-switch
[Define a custom function using a Hat block.]
[500] [mm v] yüksekliğe kalkış yap ▶
başladığında
[take_off_500()] :: custom-switch