Μάθημα Ανάπτυξης Python
Κεφάλαιο
>
Επίπεδο

Συνθήκες
Εντολές Διακοπής και Συνέχειας

Στόχος

Καθαρίστε κάποια ζιζάνια στον διάδρομο μεταξύ των κτιρίων χρησιμοποιώντας συνθήκες βρόχου.

Ο διάδρομος μεταξύ των κτιρίων έχει ζιζάνια να φυτρώνουν, συλλέξτε όλα τα ζιζάνια και ρίξτε τα χρησιμοποιώντας βρόχους. Υπάρχουν τρόποι που μπορείτε να αυτοματοποιήσετε αυτή τη διαδικασία χρησιμοποιώντας συνθήκες βρόχου.

Δημιουργήστε μια μεταβλητή ονόματι bag και χρησιμοποιήστε την για να αποθηκεύσετε τα ζιζάνια καθώς τα μαζεύετε. Χρησιμοποιήστε έναν βρόχο while με συνθήκες για να αυτοματοποιήσετε τη διαδικασία, υπάρχουν συνολικά δέκα (10) ζιζάνια.

while True: player.move_forward() bag += 1 if bag == 10: break

Με το να ορίσετε τον βρόχο while ως True, ο βρόχος δεν θα τερματιστεί εκτός αν χρησιμοποιηθεί ο τελεστής break για να κλείσει ο βρόχος. Κάθε κύκλος του βρόχου προσθέτει ένα ζιζάνι στο bag και ελέγχει πόσα ζιζάνια έχουν μαζευτεί για να τερματιστεί ο βρόχος. Η δήλωση if χρησιμοποιείται για να ελέγξει αν ο βρόχος πρέπει να break ή όχι, ελέγχοντας πόσα ζιζάνια υπάρχουν στο bag και τερματίζει αν έχει επιτευχθεί το ποσό.

Αφού προσπεράσετε το διάδρομο, χρησιμοποιήστε έναν βρόχο for για να ρίξετε τα ζιζάνια στους δοχεία χρησιμοποιώντας τη συνάρτηση place() στα σημάδια X. Η απόσταση βημάτων μεταξύ κάθε δοχείου είναι όμως άνιση καθώς υπάρχει ένα κενό ανάμεσά τους. Χρησιμοποιώντας τον τελεστή continue, παραλείπετε έναν κύκλο βρόχου ελέγχοντας μια συνθήκη μέσω της δήλωσης if.

for x in range(3): player.move_forward() if x == 1: continue player.turn_right() player.place(bag/2) player.turn_left()

Στον παραπάνω κώδικα, η δήλωση if ελέγχει αν το x, δηλαδή ο αριθμός των κύκλων του βρόχου, είναι στο 1. Αυτός ο βρόχος for εκτελείται τρεις (3) φορές σύμφωνα με το range(), αφού το x ξεκινάει από 0, εκτελείται για 0, 1, 2 πριν ολοκληρωθεί ο βρόχος. Επειδή ελέγχετε αν ο κύκλος του βρόχου είναι στο 1, ο κώδικας κάτω από το continue δεν θα εκτελεστεί και θα παραλειφθεί αν πληρείται αυτή η συνθήκη. Με αυτό μπορούμε να αποφύγουμε το κενό μεταξύ των δύο δοχείων, παραλείποντας τον μεσαίο κύκλο.

Επειδή υπάρχουν δύο (2) κουτιά, χρησιμοποιήστε τη συνάρτηση place() για να ρίξετε τα ζιζάνια που αποθηκεύονται στη μεταβλητή bag διαιρώντας το συνολικό ποσό που τοποθετείται, όπως αυτό: player.place(bag/2).

Μόλις έχετε συλλέξει και τοποθετήσει τα ζιζάνια στη σωστή θέση, φτάστε στην έξοδο που σημαδεύεται με αστέρι για να ολοκληρώσετε το επίπεδο.

Βιβλίο Κώδικα