Διακόπτης#
Εισαγωγή#
Τα μπλοκ εναλλαγής βοηθούν τους μαθητές να μεταβούν από την κωδικοποίηση που βασίζεται σε μπλοκ στην κωδικοποίηση που βασίζεται σε κείμενο. Με τα μπλοκ εναλλαγής, οι μαθητές μπορούν να πληκτρολογήσουν κώδικα Python απευθείας μέσα σε ένα έργο μπλοκ — γράφοντας εντολές, συνθήκες, τιμές ή ορισμούς συναρτήσεων — ενώ παράλληλα δημιουργούν το υπόλοιπο έργο με μπλοκ. Μεμονωμένα μπλοκ μπορούν επίσης να μετατραπούν στις αντίστοιχες εντολές Python.
Για να μάθετε πώς να πληκτρολογείτε εντολές, μεθόδους και τελεστές Python, ανατρέξτε στο VEX CTE Python API.
Επειδή τα μπλοκ Switch περιέχουν κώδικα Python, η ορθογραφία, η στίξη και η εσοχή πρέπει να είναι σωστά για να εκτελεστεί το έργο όπως αναμένεται.
Παρακάτω είναι μια λίστα με όλα τα μπλοκ Switch:
Εναλλαγή μπλοκ — Προσθήκη κώδικα Python σε ένα έργο Blocks.
Stack — Παρέχει χώρο για την πληκτρολόγηση εντολών Python που εκτελούνται σε ακολουθία με άλλα μπλοκ στοίβας.
C Block — Provides a space to type Python control code, such as
if,while, orforstatements.C Expandable — Provides a space to type Python control code with multiple branches, such as
if,elif, orelse.Boolean — Provides a space to type Python code that returns
TrueorFalse.Reporter — Παρέχει ένα κενό για την πληκτρολόγηση κώδικα Python που επιστρέφει μια τιμή.
Hat — Παρέχει ένα κενό για τον ορισμό μιας συνάρτησης Python.
Σωρός#
Το μπλοκ Stack παρέχει έναν χώρο για την πληκτρολόγηση εντολών Python που εκτελούνται σε ακολουθία με άλλα μπλοκ στοίβας.
[] :: custom-switch
Ένα μπλοκ Stack μπορεί να περιέχει μία γραμμή ή πολλές γραμμές κώδικα Python.
όταν ξεκινά :: hat events
[Move the 6-Axis Arm to a standard position at the start of the project.]
[arm.move_to(120, 120, 75, False)] :: custom-switch
Μπλοκ Γ#
The C Block provides a space to type Python control code, such as if, while, or for statements. Blocks placed inside the C Block run as part of that Python control structure.
if [] :: custom-switch
τέλος
Ο κώδικας ελέγχου Python που μπορεί να χρησιμοποιηθεί σε ένα C Block περιλαμβάνει:
όταν ξεκινά :: hat events
[Check if the 6-Axis Arm can move to a position.]
if [if not arm.can_arm_reach_to(0, 0, 0):] :: custom-switch
εκτύπωση [The 6-Axis Arm can't move to this position.] στην κονσόλα ◀ και μετακίνηση κέρσορα στην επόμενη γραμμή
τέλος
C Επεκτάσιμο#
The C Expandable block provides a space to type Python control code with multiple branches, such as if, elif, or else. Additional branches can be added by selecting the plus arrow.
if [] :: custom-switch-expand
τέλος
Ο κώδικας ελέγχου Python που μπορεί να χρησιμοποιηθεί σε ένα C Expandable μπλοκ περιλαμβάνει:
όταν ξεκινά
[Check if the 6-Axis Arm can or can't move to a position.]
if [if not arm.can_arm_reach_to(0, 0, 0):] :: custom-switch-expand
εκτύπωση [The 6-Axis Arm can't move to this position.] στην κονσόλα ◀ και μετακίνηση κέρσορα στην επόμενη γραμμή
else [else:] :: custom-switch-expand
εκτύπωση [The 6-Axis Arm can move to this position.] στην κονσόλα ◀ και μετακίνηση κέρσορα στην επόμενη γραμμή
τέλος
Λογική τιμή#
The Boolean block provides a space to type Python code that returns True or False. It can be placed inside blocks with hexagonal inputs.
<[] :: custom-switch>
Ένα Boolean μπλοκ μπορεί να περιέχει μια συνθήκη Python.
<[bumper_a.is_pressed()] :: custom-switch>
Ένα Boolean μπλοκ μπορεί επίσης να χρησιμοποιήσει λογικούς τελεστές:
<[bumper_a.is_pressed() or bumper_b.is_pressed()] :: custom-switch>
Ένα Boolean μπλοκ μπορεί να χρησιμοποιήσει τελεστές σύγκρισης για να συγκρίνει τιμές:
Greater than:
>Less than:
<Equal to:
==Other comparison operators include
<=,!=, and>=
<[drivetrain.get_heading()> 100] :: custom-switch>
όταν ξεκινά
[Check if the 6-Axis Arm can move to a position.]
αν <όχι <[arm.can_arm_reach_to(0, 0, 0)] :: custom-switch>> τότε
εκτύπωση [The 6-Axis Arm can't move to this position.] στην κονσόλα ◀ και μετακίνηση κέρσορα στην επόμενη γραμμή
τέλος
Δημοσιογράφος#
Το μπλοκ Reporter παρέχει έναν χώρο για την πληκτρολόγηση κώδικα Python που επιστρέφει μια τιμή. Μπορεί να τοποθετηθεί μέσα σε μπλοκ με κυκλικές εισόδους.
([] :: custom-switch)
Ένα μπλοκ Reporter μπορεί να περιέχει κώδικα Python που επιστρέφει μια τιμή.
([arm.get_y()] :: custom-switch)
Οι μαθηματικοί τελεστές μπορούν να χρησιμοποιηθούν σε ένα μπλοκ Reporter:
([arm.get_y() + 45] :: custom-switch)
όταν ξεκινά
[Display the current y-position while the 6-Axis Arm moves.]
μετακίνηση [arm v] στη θέση x:(-100) y:(200) z:(100) [mm v] ◀ και μη περιμένεις
επανέλαβε μέχρι <[arm v] έχει ολοκληρώσει την κίνηση;>
εκτύπωση ([arm.get_y()] :: custom-switch) στην κονσόλα ◀ και μετακίνηση κέρσορα στην επόμενη γραμμή
περίμενε [0.25] δευτερόλεπτα
τέλος
Καπέλο#
Το μπλοκ Hat παρέχει έναν χώρο για τον ορισμό μιας συνάρτησης Python. Τα μπλοκ που είναι προσαρτημένα κάτω από το Hat γίνονται το σώμα αυτής της συνάρτησης.
[] :: hat custom-switch
Πληκτρολογήστε έναν ορισμό συνάρτησης Python στο μπλοκ Hat. Οι παράμετροι μπαίνουν μέσα στις παρενθέσεις. Εάν η συνάρτηση δεν χρησιμοποιεί παραμέτρους, χρησιμοποιήστε κενές παρενθέσεις.
[def function_name(parameter):] :: hat custom-switch
[def increment_y_100():] :: hat custom-switch
[Create a function to increment the 6-Axis Arm.]
αύξηση θέσης [arm v] κατά x:[0] y:[100] z:[0] [mm v] ▶
όταν ξεκινά :: hat events
[increment_y_100()] :: custom-switch