Ελεγχος#
Εισαγωγή#
Το Control στην Python σάς επιτρέπει να λέτε στο ρομπότ πότε να περιμένει, πότε να επαναλαμβάνει ενέργειες, πώς να λαμβάνει αποφάσεις και πότε να τερματίζει το έργο.
Παρακάτω είναι μια λίστα με τα διαθέσιμα στοιχεία ελέγχου, συμπεριλαμβανομένων μεθόδων και βασικών λέξεων-κλειδιών Python:
wait– Διακόπτει προσωρινά το έργο για ένα δεδομένο χρονικό διάστημα.for– Επαναλαμβάνει τον κώδικα για κάθε στοιχείο σε μια ακολουθία.if– Εκτελεί κώδικα αν μια συνθήκη είναι αληθής.if/else– Εκτελεί διαφορετικό κώδικα ανάλογα με μια συνθήκη.if/elif/else– Ελέγχει πολλαπλές συνθήκες με τη σειρά.while– Επαναλαμβάνει τον κώδικα όσο μια συνθήκη είναι αληθής.break– Άμεση έξοδος από έναν βρόχο.stop_program– Τερματίζει το πρόγραμμα που εκτελείται.pass– Πλαίσιο κράτησης θέσης που χρησιμοποιείται όταν δεν απαιτείται καμία ενέργεια.
Περιμένετε#
wait κάνει παύση για ένα συγκεκριμένο χρονικό διάστημα πριν μετακινηθεί στην επόμενη γραμμή κώδικα.
Usage:wait(time, units)
Παράμετροι |
Περιγραφή |
|---|---|
|
Ο χρόνος αναμονής, ως θετικός ακέραιος αριθμός ή δεκαδικός αριθμός. |
|
Η μονάδα που αντιπροσωπεύει τον χρόνο αναμονής: |
# 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)
για#
Η συνάρτηση for επαναλαμβάνει ένα σύνολο ενεργειών έναν συγκεκριμένο αριθμό φορών. for μπορεί να χρησιμοποιηθεί για την επανάληψη στοιχείων σε λίστες, πλειάδες, λεξικά, σύνολα, συμβολοσειρές ή για έναν καθορισμένο αριθμό επανάληψης με range.
Χρήση:
for value in expression_list:
pass
Στοιχεία |
Περιγραφή |
|---|---|
|
Μια προσωρινή μεταβλητή που αποθηκεύει το τρέχον στοιχείο στην επανάληψη. |
|
Η συλλογή στοιχείων που επαναλαμβάνονται (π.χ. λίστα, συμβολοσειρά, εύρος). |
# 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)
αν#
if εκτελεί το μπλοκ κώδικα με εσοχή αν η συνθήκη είναι True.
Χρήση:
if condition:
pass
Στοιχεία |
Περιγραφή |
|---|---|
|
Μια έκφραση ή μεταβλητή που ελέγχεται κατά την εκτέλεση της πρότασης. Εάν είναι |
# 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)
αν/αλλιώς#
if και else καθορίζουν ποιο μπλοκ κώδικα με εσοχή εκτελείται με βάση το αν η συνθήκη είναι True ή False.
Χρήση:
if condition:
pass
else:
pass
Στοιχεία |
Περιγραφή |
|---|---|
|
Μια έκφραση ή μεταβλητή που ελέγχεται κατά την εκτέλεση της πρότασης. Εάν είναι |
# 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)
αν/ελιφ/αλλιώς#
Η δομή if/elif/else επιλέγει ποιο μπλοκ κώδικα με εσοχή εκτελείται με βάση τις συνθήκες:
ifεκτελεί το μπλοκ του αν η συνθήκη είναιTrue.elifελέγχει πρόσθετες συνθήκες μόνο εάν όλες οι προηγούμενες συνθήκες είναιelifΜπορούν να χρησιμοποιηθούν πολλαπλέςFalseεντολές elif.elseεκτελεί το μπλοκ του μόνο αν καμία από τις προηγούμενες συνθήκες δεν είναι αληθήςTrue.
Χρήση:
if condition:
pass
elif condition:
pass
else:
pass
Στοιχεία |
Περιγραφή |
|---|---|
|
Μια έκφραση ή μεταβλητή που ελέγχεται κατά την εκτέλεση της πρότασης. Η πρώτη συνθήκη που είναι |
# 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)
ενώ#
while εκτελεί επανειλημμένα κώδικα εφόσον η συνθήκη είναι TrueΜπορεί επίσης να χρησιμοποιηθεί ως “για πάντα” χρησιμοποιώντας True ως συνθήκη ή ως “περιμένετε μέχρι” προσθέτοντας not στη συνθήκη, όπως φαίνεται στα παρακάτω παραδείγματα.
Χρήση:
while condition:
pass
Στοιχεία |
Περιγραφή |
|---|---|
|
Μια έκφραση ή μεταβλητή που ελέγχεται πριν από κάθε επανάληψη. Εάν είναι |
# 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)
διακοπή#
break τερματίζει αμέσως έναν βρόχο. break μπορεί να χρησιμοποιηθεί για να εγκαταλείψει βρόχους που διαφορετικά θα επαναλαμβάνονταν για πάντα.
Χρήση:
break
Παράμετροι |
Περιγραφή |
|---|---|
Αυτή η λέξη-κλειδί δεν έχει παραμέτρους. |
# 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)
stop_program#
stop_program τερματίζει ένα έργο που εκτελείται.
Usage:stop_program()
Παράμετροι |
Περιγραφή |
|---|---|
Αυτή η μέθοδος δεν έχει παραμέτρους. |
# 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)
πέρασμα#
Το pass είναι ένα σύμβολο κράτησης θέσης για μελλοντικό κώδικα και μπορεί να χρησιμοποιηθεί για την αποφυγή σφαλμάτων σε κενούς βρόχους, υπό όρους και συναρτήσεις.
Χρήση:
pass
Παράμετροι |
Περιγραφή |
|---|---|
Αυτή η λέξη-κλειδί δεν έχει παραμέτρους. |
if condition:
pass
def function():
pass