Μάθημα 2: Δηλώσεις If Else
Σε αυτό το μάθημα, θα δημιουργήσετε ένα έργο όπου το ρομπότ εικονικής πραγματικότητας (VR) θα ανατρέψει τουλάχιστον δύο κάστρα στην παιδική χαρά Dynamic Castle Crasher Playground. Θα χρειαστεί ένας αλγόριθμος για την επίλυση της πρόκλησης χρησιμοποιώντας βρόχους και ανατροφοδότηση αισθητήρων, επειδή η διάταξη του Playground αλλάζει με κάθε επαναφορά.
Παραδείγματα διατάξεων παιδικής χαράς Dynamic Castle Crasher:

Μαθησιακά Αποτελέσματα
- Προσδιορίστε ότι μια εντολή if elseεκτελεί τις εντολές είτε μέσα στον κλάδο 'if' είτε στον κλάδο 'else' με βάση την τιμή Boolean που αναφέρεται.
- Προσδιορίστε ότι μια εντολή if else χρησιμοποιείται κανονικά με έναν βρόχο for ή έναν άπειρο βρόχο whileπροκειμένου να ελεγχθεί η συνθήκη περισσότερες από μία φορές.
- Προσδιορίστε και περιγράψτε γιατί μια εντολή if elseχρησιμοποιείται με βρόχους.
- Περιγράψτε τι θα προκαλούσε την εκτέλεση ενός κλάδου 'if' ή ενός κλάδου 'else' σε ένα έργο με μια εντολή if else.
Γιατί να χρησιμοποιήσω μια πρόταση If Else;
Η πρόκληση Dynamic Castle Crasher είναι διαφορετική από την πρόκληση Castle Crasher στην Ενότητα 2. Η πρόκληση της Μονάδας 2 χρησιμοποίησε απλή αλληλουχία και εντολές συστήματος μετάδοσης κίνησης για να ανατρέψει τα κάστρα σε μια στατική παιδική χαρά.
def main():
drivetrain.set_drive_velocity(100, ΤΟΙΣΟΣΤΟ)
drivetrain.set_turn_velocity(100, ΤΟΙΣΟΣΤΟ)
drivetrain.drive_for(ΜΠΡΟΣΤΑ, 1550, MM)
drivetrain.turn_for(ΔΕΞΙΑ, 180, ΜΟΙΡΕΣ)
drivetrain.drive_for(ΜΠΡΟΣΤΑ, 700, MM)
drivetrain.turn_for(ΔΕΞΙΑ, 90, ΜΟΙΡΕΣ)Ωστόσο, λόγω των μεταβαλλόμενων διατάξεων του Dynamic Castle Crasher Playground, οι εντολές του συστήματος μετάδοσης κίνησηςμόνεςδεν θα επαρκούν για να καταρρίψουν το ρομπότ VR δύο ή περισσότερα κάστρα. Ένα σύνολο εντολών συστήματος μετάδοσης κίνησης μπορεί να λειτουργεί σε ένα Playground, αλλά όχι σε ένα άλλο. Θα χρειαστεί ένας αλγόριθμος που χρησιμοποιεί αισθητήρες και επιλογή σε επαναλήψεις. Η εντολή if elseθα χρησιμοποιηθεί για τη δημιουργία ενός αλγορίθμου προσθέτοντας επιλογή με εντολές υπό όρους σε αυτό το έργο.

Η Δήλωση Αν Άλλο
Η εντολή if else είναι μια εντολή που δέχεται Boolean συνθήκες. Η εντολή if elseείναι μια εντολή υπό όρους που ελέγχει τη ροή ενός έργου. Η εντολή if elseθα εκτελέσει μια συγκεκριμένη ακολουθία εντολώνεάν η συνθήκη πληρούται, else(όταν η συνθήκη είναι όχι πληρούται) εκτελείται ένα άλλο σύνολο εντολών – με αυτόν τον τρόπο «διακλαδώνεται» η ροή του έργου. Μόνο ένας κλάδος στο αν αλλιώςθα εκτελείται κάθε φορά.
αν συνθήκη:
επιτυχία
αλλιώς:
επιτυχία- Εάν η συνθήκη αναφέρεται ως True, εκτελούνται οι εντολές εντός του κλάδου 'if'.
- Εάν η συνθήκη αναφέρεται ως False, εκτελούνται οι εντολές μέσα στον κλάδο 'else'.
- Μόλις εκτελεστούν όλες οι εντολές μέσα σε έναν από τους κλάδους, το έργο θα προχωρήσει στην επόμενη εντολή εκτός της πρότασηςif else.
Πιθανότατα χρησιμοποιείτε συχνά τη λογικήif elseστις καθημερινές σας ενέργειες. Για παράδειγμα, όταν αποφασίζετε τι πρέπει να πάρετε μαζί σας όταν φεύγετε από το σπίτι με βάση τον καιρό έξω, μπορείτε να χρησιμοποιήσετε τη λογικήif else. Ανβρέχει, πάρε ομπρέλα· αλλιώςπάρε γυαλιά ηλίου.
Ο κλάδος «Αν» -
- Σε αυτό το σενάριο, η συνθήκη της «βροχής» πληρούται, επομένως θα εκτελεστεί ο κλάδος «αν»και θα πάρετε μια ομπρέλα.

Ο κλάδος «Άλλο» -
- Σε αυτό το σενάριο, η συνθήκη του 'raining' είναι και όχι , επομένως θα εκτελεστεί ο κλάδος 'else' και θα πάρετε γυαλιά ηλίου.

Η Δήλωση If Else και το Πρόβλημα του Dynamic Castle Crasher
Υπάρχουν δύο κύρια βήματα για να ανατρέψει με επιτυχία το ρομπότ εικονικής πραγματικότητας (VR) κάστρα στην παιδική χαρά Dynamic Castle Crasher Playground. Ουσιαστικά, το ρομπότ εικονικής πραγματικότητας (VR) πρέπει να είναι σε θέση να εντοπίζει και να ανιχνεύει κάστρα στην παιδική χαρά και στη συνέχεια να οδηγεί για να τα ανατρέψει. Όσον αφορά μια πρότασηif else, αυτό θα μπορούσε να διατυπωθεί ως εξής:
- Εάν το Ρομπότ Εικονικής Πραγματικότητας ανιχνεύσει ένα κάστρο, προχωρήστε προς το μέρος του για να το ανατρέψετε.

- Διαφορετικά,(όταν το Ρομπότ Εικονικής Πραγματικότητας δεν ανιχνεύει κάστρο), γυρίστε και ελέγξτε για κάστρο σε άλλη τοποθεσία στην Παιδική Χαρά.

Ο αισθητήρας απόστασης στο ρομπότ εικονικής πραγματικότητας μπορεί να χρησιμοποιηθεί για την ανίχνευση κάστρων σε αυτήνπαιδική χαρά.Σε αντίθεση έχει τοίχους. Επειδή τα κάστρα είναι τα μόνα αντικείμενα στην παιδική χαρά Dynamic Castle Crasher, όταν ο αισθητήρας απόστασης ανιχνεύσει ένα αντικείμενο, αυτό το αντικείμενο θα είναι κάστρο. Το Ρομπότ Εικονικής Πραγματικότητας (VR) θα πρέπει να ελέγχει επανειλημμένα την κατάσταση του Αισθητήρα Απόστασης, έτσι ώστε μόλις ολοκληρωθούν αυτά τα δύο βασικά βήματα, το Ρομπότ Εικονικής Πραγματικότητας να μπορεί να επιστρέψει και να χρησιμοποιήσει τον Αισθητήρα Απόστασης για να βρει το επόμενο κάστρο που θα ανατρέψει.
Σχεδιασμός έργου με τη δήλωση If Else
- Ξεκινήστε ένα νέο έργο και επιλέξτε το Dynamic Castle Crasher Playgroundόταν σας ζητηθεί.

- Ονομάστε το έργο Ενότητα9Μάθημα2.

-
Προσθέστε σχόλια στον χώρο εργασίας που περιγράφουν την πρόθεση για το έργο, με βάση τα βήματα που προσδιορίστηκαν παραπάνω. Το πρώτο σχόλιο εξηγεί τη συνθήκη της εντολής if else, και τα επόμενα δύο εξηγούν τις ενέργειες κάθε κλάδου της εντολής if else. Να θυμάστε ότι τα σχόλια στην Python ξεκινούν με το σύμβολο # (λίβρα). Το έργο σας θα πρέπει να μοιάζει με αυτό:
def main(): # Εντοπίζει ο αισθητήρας απόστασης ένα κάστρο; # Ανιχνεύτηκε κάστρο που συνετρίβη από αισθητήρα απόστασης # Γυρίστε για να βρείτε ένα κάστρο χρησιμοποιώντας τον αισθητήρα απόστασης -
Μια εντολή if else μπορεί να χρησιμοποιηθεί για να ενεργοποιήσει καθεμία από τις ενέργειες που περιγράφονται παραπάνω. Κάθε ενέργεια εξαρτάται από το αν η Boolean συνθήκη στην πρόταση if elseαναφέρεται ως True ή False. Προσθέστε μια εντολή if elseμετά τα σχόλια. Το έργο σας θα πρέπει τώρα να μοιάζει με αυτό:
def main(): # Εντοπίζει ο αισθητήρας απόστασης ένα κάστρο; # Ανιχνεύτηκε κάστρο συντριβής από αισθητήρα απόστασης # Γυρίστε για να βρείτε ένα κάστρο χρησιμοποιώντας τον αισθητήρα απόστασης εάν συνθήκη: επιτυχία αλλιώς: επιτυχία -
Κάθε κλάδος της εντολήςif else μπορεί να οριστεί χρησιμοποιώντας τα σχόλια. Εάνο Αισθητήρας Απόστασης ανιχνεύσει ένα κάστρο, το Ρομπότ Εικονικής Πραγματικότητας (VR) θα πρέπει να οδηγήσει για να το ανατρέψει. διαφορετικάθα πρέπει να γυρίσει για να ανιχνεύσει ένα κάστρο. Μετακινήστε τους κλάδους if και else του έργου ώστε να ευθυγραμμιστούν με τα σχόλια που περιγράφουν τις σχετικές ενέργειες. Το έργο σας θα πρέπει τώρα να μοιάζει με αυτό:
def main(): # Εντοπίζει ο αισθητήρας απόστασης ένα κάστρο; αν συνθήκη: # Ανιχνεύτηκε κάστρο συντριβής από αισθητήρα απόστασης πέρασμα αλλιώς: # Γυρίστε για να βρείτε ένα κάστρο χρησιμοποιώντας τον αισθητήρα απόστασης πέρασμα
Επιλέξτε το κουμπί Επόμενο για να συνεχίσετε με το υπόλοιπο μάθημα.