Διακόπτης#
Εισαγωγή#
Τα μπλοκ εναλλαγής βοηθούν τους μαθητές να μεταβούν από την κωδικοποίηση που βασίζεται σε μπλοκ στην κωδικοποίηση που βασίζεται σε κείμενο. Με τα μπλοκ εναλλαγής, οι μαθητές μπορούν να πληκτρολογήσουν κώδικα Python απευθείας μέσα σε ένα έργο μπλοκ — γράφοντας εντολές, συνθήκες, τιμές ή ορισμούς συναρτήσεων — ενώ παράλληλα δημιουργούν το υπόλοιπο έργο με μπλοκ. Μεμονωμένα μπλοκ μπορούν επίσης να μετατραπούν στις αντίστοιχες εντολές Python.
Για να μάθετε πώς να πληκτρολογείτε εντολές, μεθόδους και τελεστές Python, ανατρέξτε στο VEXcode AIR Python API.
Επειδή τα μπλοκ Switch περιέχουν κώδικα Python, η ορθογραφία, η στίξη και η εσοχή πρέπει να είναι σωστά για να εκτελεστεί το έργο όπως αναμένεται.
Παρακάτω είναι μια λίστα με όλα τα μπλοκ Switch:
Εναλλαγή μπλοκ — Προσθήκη κώδικα Python σε ένα έργο Blocks.
Stack — Παρέχει χώρο για την πληκτρολόγηση εντολών Python που εκτελούνται σε ακολουθία με άλλα μπλοκ στοίβας.
C Block — Παρέχει ένα κενό για την πληκτρολόγηση κώδικα ελέγχου Python, όπως
if,whileήforεντολές.C Expandable — Παρέχει ένα κενό για την πληκτρολόγηση κώδικα ελέγχου Python με πολλαπλούς κλάδους, όπως
if,elifήelse.Boolean — Παρέχει ένα κενό για την πληκτρολόγηση κώδικα Python που επιστρέφει
TrueήFalse.Reporter — Παρέχει ένα κενό για την πληκτρολόγηση κώδικα Python που επιστρέφει μια τιμή.
Hat — Παρέχει ένα κενό για τον ορισμό μιας συνάρτησης Python.
Σωρός#
Το μπλοκ Stack παρέχει έναν χώρο για την πληκτρολόγηση εντολών Python που εκτελούνται σε ακολουθία με άλλα μπλοκ στοίβας.
[] :: custom-switch
Ένα μπλοκ Stack μπορεί να περιέχει μία γραμμή ή πολλές γραμμές κώδικα Python.
όταν ξεκινά
[Take off, wait 1 second, then land.]
[drone.take_off(500)] :: custom-switch
περίμενε [1] δευτερόλεπτα
προσγείωση ▶
Μπλοκ Γ#
Το C Block παρέχει έναν χώρο για την πληκτρολόγηση κώδικα ελέγχου Python, όπως εντολές if, whileή for . Τα μπλοκ που τοποθετούνται μέσα στο C Block εκτελούνται ως μέρος αυτής της δομής ελέγχου Python.
if [] :: custom-switch
τέλος
Ο κώδικας ελέγχου Python που μπορεί να χρησιμοποιηθεί σε ένα C Block περιλαμβάνει:
όταν ξεκινά
[Move with the controller until button 7 is pressed.]
απογείωση σε [500] [mm v] ▶
if [while not controller.button7.pressing():] :: custom-switch
κίνηση με χειριστήριο
τέλος
προσγείωση ▶
C Επεκτάσιμο#
Το μπλοκ C Expandable παρέχει έναν χώρο για την πληκτρολόγηση κώδικα ελέγχου Python με πολλαπλούς κλάδους, όπως if, elifή else. Πρόσθετοι κλάδοι μπορούν να προστεθούν επιλέγοντας το βέλος συν.
if [] :: custom-switch-expand
τέλος
Ο κώδικας ελέγχου Python που μπορεί να χρησιμοποιηθεί σε ένα C Expandable μπλοκ περιλαμβάνει:
όταν ξεκινά
[Climb up or down with buttons 5 and 6.]
απογείωση σε [500] [mm v] ▶
για πάντα
if [if controller.button5.pressing():] :: custom-switch-expand
ανύψωση [πάνω v]
else [elif controller.button6.pressing():] :: custom-switch-expand
ανύψωση [κάτω v]
else [else:] :: custom-switch-expand
αιώρηση
τέλος
τέλος
Λογική τιμή#
Το μπλοκ Boolean παρέχει έναν χώρο για την πληκτρολόγηση κώδικα Python που επιστρέφει True ή FalseΜπορεί να τοποθετηθεί μέσα σε μπλοκ με εξαγωνικές εισόδους.
<[] :: custom-switch>
Ένα Boolean μπλοκ μπορεί να περιέχει μια συνθήκη Python.
<[controller.button7.pressing()] :: custom-switch>
Ένα Boolean μπλοκ μπορεί επίσης να χρησιμοποιήσει λογικούς τελεστές:
<[controller.button5.pressing() and controller.button7.pressing()] :: custom-switch>
Ένα Boolean μπλοκ μπορεί να χρησιμοποιήσει τελεστές σύγκρισης για να συγκρίνει τιμές:
Μεγαλύτερο από:
>Λιγότερο από:
<Ίσο με:
==Άλλοι τελεστές σύγκρισης περιλαμβάνουν
<=,!=και>=
<[drone.inertial.get_heading()> 100] :: custom-switch>
όταν ξεκινά
[Move with the controller until button 7 is pressed.]
απογείωση σε [500] [mm v] ▶
επανέλαβε μέχρι <[controller.button7.pressing()] :: custom-switch>
κίνηση με χειριστήριο
τέλος
προσγείωση ▶
Δημοσιογράφος#
Το μπλοκ Reporter παρέχει έναν χώρο για την πληκτρολόγηση κώδικα Python που επιστρέφει μια τιμή. Μπορεί να τοποθετηθεί μέσα σε μπλοκ με κυκλικές εισόδους.
([] :: custom-switch)
Ένα μπλοκ Reporter μπορεί να περιέχει κώδικα Python που επιστρέφει μια τιμή.
([drone.get_altitude()] :: custom-switch)
Οι μαθηματικοί τελεστές μπορούν να χρησιμοποιηθούν σε ένα μπλοκ Reporter:
([drone.get_altitude() + 45] :: custom-switch)
όταν ξεκινά
[Display the altitude after climbing for 3 seconds.]
απογείωση σε [500] [mm v] ▶
ανύψωση [πάνω v]
περίμενε [3] δευτερόλεπτα
εκτύπωση ([drone.get_altitude()] :: custom-switch) στην οθόνη ▶
προσγείωση ▶
Καπέλο#
Το μπλοκ Hat παρέχει έναν χώρο για τον ορισμό μιας συνάρτησης Python. Τα μπλοκ που είναι προσαρτημένα κάτω από το Hat γίνονται το σώμα αυτής της συνάρτησης.
[] :: hat custom-switch
Πληκτρολογήστε έναν ορισμό συνάρτησης Python στο μπλοκ Hat. Οι παράμετροι μπαίνουν μέσα στις παρενθέσεις. Εάν η συνάρτηση δεν χρησιμοποιεί παραμέτρους, χρησιμοποιήστε κενές παρενθέσεις.
[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] ▶
όταν ξεκινά
[take_off_500()] :: custom-switch