Μάθημα 3: Χρήση εντολών If
Πλοήγηση στον λαβύρινθο του δίσκου χρησιμοποιώντας εντολέςIf
Στην Πρόκληση του Λαβύρινθου του Δίσκου, το Ρομπότ Εικονικής Πραγματικότητας ελέγχει την κατάσταση του Αισθητήρα Μπροστινού Ματιού για να δει ποιο χρώμα αναφέρεται. Κάθε ένα από τα χρώματα ευθυγραμμίζεται με μια διαφορετική συμπεριφορά που πρέπει να εκτελεί το ρομπότ εικονικής πραγματικότητας.
Για την ενημέρωσή σας
Η εντολή ifδέχεται μόνο λογικές συνθήκες. Χρησιμοποιώντας τα μοτίβα που παρατηρήθηκαν κατά την επίλυση του Δίσκου Λαβύρινθου στο Μάθημα 2, μπορεί να δημιουργηθεί ένα έργο όπου το Ρομπότ Εικονικής Πραγματικότητας (VR) αποφασίζει εάν η συνθήκη αναφέρεται ως Σωστή ή Λάθος.
εάν συνθήκη:
επιτυχήςΗ εντολή if θα εκτελεστεί μία φορά σε ένα έργο. Σε αυτό το παράδειγμα, ο αισθητήρας μπροστινού ματιού θα αναφέρει True εάν ανιχνευθεί ένα πράσινο αντικείμενο και θα εκτελέσει την εντολή μέσα στην εντολή if - στρίψτε δεξιά για 90 μοίρες. Εάν δεν εντοπιστεί πράσινο αντικείμενο, το έργο θα προχωρήσει στην επόμενη εντολή.
def main():
αν front_eye.detect(ΠΡΑΣΙΝΟ):
σύστημα μετάδοσης κίνησης.turn_for(ΔΕΞΙΑ, 90, ΜΟΙΡΕΣ)
σύστημα μετάδοσης κίνησης.stop()- Ξεκινήστε ένα νέο έργο και επιλέξτε τοDisk Maze Playgroundόταν σας ζητηθεί.

-
Ονομάστε το Ενότητα 7 Μάθημα 3.

- Προσθέστε σχόλια για να περιγράψετε την πρόθεση για τις συμπεριφορές του ρομπότ εικονικής πραγματικότητας (VR) σε κάθε επόμενη ενότητα του έργου.
def main():
# Εάν το μπροστινό μάτι ανιχνεύσει πράσινο, στρίψτε δεξιά
# Εάν το μπροστινό μάτι ανιχνεύσει μπλε, στρίψτε αριστερά- Σύρετε ή πληκτρολογήστε την πρόταση if κάτω από το πρώτο σχόλιο.
def main():
# Εάν το μπροστινό μάτι ανιχνεύσει πράσινο, στρίψτε δεξιά
εάν συνθήκη:
επιτυχής
# Εάν το μπροστινό μάτι ανιχνεύσει μπλε, στρίψτε αριστερά- Ορίστε τη συνθήκη της πρότασης if στην εντολή front_eye.detectκαι ορίστε την παράμετρο σε 'GREEN'.
def main():
# Εάν το μπροστινό μάτι ανιχνεύσει πράσινο, στρίψτε δεξιά
εάν front_eye.detect(GREEN):
pass
# Εάν το μπροστινό μάτι ανιχνεύσει μπλε, στρίψτε αριστερά- Σύρετε ή πληκτρολογήστε μια εντολή turn_for μέσα στην πρόταση if , για να αντικαταστήσετε την εντολή 'pass'. Ρυθμίστε τις παραμέτρους σε στροφή δεξιά κατά 90 μοίρες. Τώρα, εάν ο αισθητήρας μπροστινού ματιού ανιχνεύσει «ΠΡΑΣΙΝΟ», το ρομπότ εικονικής πραγματικότητας θα στρίψει δεξιά κατά 90 μοίρες.
def main():
# Εάν το μπροστινό μάτι ανιχνεύσει πράσινο, στρίψτε δεξιά
εάν front_eye.detect(GREEN):
drivetrain.turn_for(RIGHT, 90, DEGREES)
# Εάν το μπροστινό μάτι ανιχνεύσει μπλε, στρίψτε αριστερά- Θα ακολουθήσουμε τα ίδια βήματα για να προσθέσουμε επιπλέον εντολέςif και για τα τρία χρώματα στο Disk Maze (πράσινο, μπλε και κόκκινο). Κάθε χρώμα συνδέεται με μια διαφορετική συμπεριφορά. Οι εντολές μέσα στις εντολές if θα πρέπει να ταιριάζουν με αυτήν την προβλεπόμενη συμπεριφορά. Προσθέστε τις ακόλουθες εντολές στο έργο κάτω από το δεύτερο σχόλιο, έτσι ώστε εάν ο αισθητήρας μπροστινού ματιού ανιχνεύσει το χρώμα «ΜΠΛΕ», το ρομπότ εικονικής πραγματικότητας να στρίψει αριστερά κατά 90 μοίρες.
# Εάν το μπροστινό μάτι ανιχνεύσει μπλε, τότε στρίψτε αριστερά
εάν front_eye.detect(BLUE):
drivetrain.turn_for(LEFT, 90, DEGREES)-
Όταν το ρομπότ εικονικής πραγματικότητας φτάσει στο τέλος του λαβυρίνθου, ο μπροστινός αισθητήρας ματιού θα ανιχνεύσει το χρώμα «ΚΟΚΚΙΝΟ».

- Για να σταματήσετε το ρομπότ εικονικής πραγματικότητας (VR), πρέπει να προσθέσετε μια ακόμη εντολή if με οδηγίες για το τι πρέπει να κάνετε εάν ο αισθητήρας μπροστινού ματιού ανιχνεύσει «RED». Προσθέστε το ακόλουθο σχόλιο και εντολές στο έργο, έτσι ώστε το ρομπότ εικονικής πραγματικότητας να σταματήσει να οδηγεί εάν ανιχνεύσει «RED».
# Εάν το μπροστινό μάτι ανιχνεύσει κόκκινο, τότε σταματήστε
εάν front_eye.detect(RED):
drivetrain.stop()Εάν δεν εντοπιστεί κανένα από τα χρώματα
Το ρομπότ εικονικής πραγματικότητας μπορεί επίσης να λάβει μια απόφαση εάν δεν βλέπει ένα χρώμα χρησιμοποιώντας την τιμή «κανένα». Για παράδειγμα, στο σημείο εκκίνησης του Δισκολαβύρινθου, ο μπροστινός αισθητήρας ματιού δεν ανιχνεύει χρώματα.
Επειδή ο αισθητήρας μπροστινού ματιού δεν ανιχνεύει χρώμα στην αρχή του λαβυρίνθου δίσκων, το ρομπότ εικονικής πραγματικότητας θα πρέπει να κινηθεί προς τα εμπρός μέχρι να ανιχνεύσει τον πράσινο δίσκο. Μπορεί να προστεθεί μια άλλη εντολή if για να δώσει οδηγίες στο ρομπότ εικονικής πραγματικότητας για το τι πρέπει να κάνει όταν δεν ανιχνεύεται χρώμα.
- Προσθέστε το ακόλουθο σχόλιο και εντολές στο έργο, έτσι ώστε εάν ο αισθητήρας μπροστινού ματιού δεν ανιχνεύσει κανένα χρώμα, το ρομπότ εικονικής πραγματικότητας θα κινηθεί προς τα εμπρός.
# Εάν το μπροστινό μάτι δεν ανιχνεύσει κανένα, τότε οδηγήστε προς τα εμπρός
εάν front_eye.detect(NONE):
drivetrain.drive(FORWARD)- Το ρομπότ εικονικής πραγματικότητας (VR) έχει πλέον οδηγίες για κάθε χρώμα που ανιχνεύεται από τον μπροστινό αισθητήρα ματιού.
- Εάναισθητήρας μπροστινού ματιού ανιχνεύσει «ΠΡΑΣΙΝΟ» – Στρίψτε δεξιά 90 μοίρες
- Εάναισθητήρας μπροστινού ματιού ανιχνεύσει «ΜΠΛΕ» – Στρίψτε αριστερά 90 μοίρες
- Εάναισθητήρας μπροστινού ματιού ανιχνεύσει «ΚΟΚΚΙΝΟ» – Σταματήστε την οδήγηση
- ΕάνΟ αισθητήρας μπροστινού ματιού ανιχνεύσει «ΚΑΝΕΝΑ» –Οδηγήστε προς τα εμπρός
- Ανοίξτε το παράθυρο της παιδικής χαράς εάν δεν είναι ήδη ανοιχτό. Βεβαιωθείτε ότι ανοίγει τοDisk Maze Playgroundκαι εκτελέστε το έργο. Το συνολικό έργο θα πρέπει να έχει ως εξής:
def main():
# Εάν το μπροστινό μάτι ανιχνεύσει πράσινο, στρίψτε δεξιά
εάν front_eye.detect(GREEN):
drivetrain.turn_for(RIGHT, 90, DEGREES)
# Εάν το μπροστινό μάτι ανιχνεύσει μπλε, στρίψτε αριστερά
εάν front_eye.detect(BLUE):
drivetrain.turn_for(LEFT, 90, DEGREES)
# Εάν το μπροστινό μάτι ανιχνεύσει κόκκινο, σταματήστε
εάν front_eye.detect(RED):
drivetrain.stop()
# Εάν το μπροστινό μάτι δεν ανιχνεύσει κανένα, προχωρήστε μπροστά
εάν front_eye.detect(NONE):
drivetrain.drive(FORWARD)- Συμπεριφέρεται το ρομπότ εικονικής πραγματικότητας όπως το είχατε σχεδιάσει; Γιατί ή γιατί όχι; Στην επόμενη σελίδα του μαθήματος, θα μάθουμε περισσότερα για αυτό το έργο.
Επιλέξτε το κουμπί Επόμενο για να συνεχίσετε με το υπόλοιπο μάθημα.