Pelajaran 4: Menggunakan Perulangan While Tak Terhingga
Memecahkan Masalah Labirin Cakram
Membangun proyek
- Muat proyek Unit7Lesson3 dari Pelajaran sebelumnya, atau buat ulang proyek yang ditampilkan di sini untuk memulai.
def main():
# Jika mata depan mendeteksi warna hijau, maka belok kanan
if front_eye.detect(GREEN):
drivetrain.turn_for(RIGHT, 90, DEGREES)
# Jika mata depan mendeteksi warna biru, maka belok kiri
if front_eye.detect(BLUE):
drivetrain.turn_for(LEFT, 90, DEGREES)
# Jika mata depan mendeteksi warna merah, maka berhenti
if front_eye.detect(RED):
drivetrain.stop()
# Jika mata depan tidak mendeteksi warna apa pun, maka maju terus
if front_eye.detect(NONE):
drivetrain.drive(FORWARD)-
Ganti nama proyek Unit7Lesson4.

- Seret atau ketikkan perulangan tak terbataswhile ke bagian atas proyek, dan atur kondisinya menjadi True.
def main():
while True:
wait(5, MSEC)- Pindahkan perintahwaituntuk memberi ruang bagi perintah yang akan masuk ke dalam loop tak terbataswhile.
def main():
while True:
wait(5, MSEC)- Di dalam loop tak terbataswhile , salin dan tempel pernyataan if sebelumnya di dalam loop. Jangan hapus perintah wait di bagian bawah loop while. Proyek Anda mungkin terlihat seperti ini. Perhatikan bahwa menyalin dan menempel perintah dengan cara ini tidak menghasilkan indentasi yang benar.
def main():
while True:
# Jika mata depan mendeteksi hijau, maka belok kanan
if front_eye.detect(GREEN):
drivetrain.turn_for(RIGHT, 90, DEGREES)
# Jika mata depan mendeteksi biru, maka belok kiri
if front_eye.detect(BLUE):
drivetrain.turn_for(LEFT, 90, DEGREES)
# Jika mata depan mendeteksi merah, maka berhenti
if front_eye.detect(RED):
drivetrain.stop()
# Jika mata depan tidak mendeteksi apa pun, maka maju
if front_eye.detect(NONE):
drivetrain.drive(FORWARD)
wait(5, MSEC)- Ingat, indentasi SANGAT penting dalam VEXcode VR Python. Agar alur proyek berjalan sesuai rencana, pernyataan ifperlu diindentasi di dalam loop tak terbatas while. Pilih pernyataanjikadan tekan 'Tab' untuk memberi indentasi di dalam loop tak terbataswhile. Jika diberi indentasi dengan benar, proyek Anda akan terlihat seperti ini:
def main():
while True:
# Jika mata depan mendeteksi hijau, maka belok kanan
if front_eye.detect(GREEN):
drivetrain.turn_for(RIGHT, 90, DEGREES)
# Jika mata depan mendeteksi biru, maka belok kiri
if front_eye.detect(BLUE):
drivetrain.turn_for(LEFT, 90, DEGREES)
# Jika mata depan mendeteksi merah, maka berhenti
if front_eye.detect(RED):
drivetrain.stop()
# Jika mata depan tidak mendeteksi apa pun, maka maju
if front_eye.detect(NONE):
drivetrain.drive(FORWARD)
wait(5, MSEC)- Dengan penambahan loop tak terbatas while ke proyek, semua pernyataan if akan berulang kali diperiksa kondisinya. Buka Disk Maze Playground dan jalankan proyeknya.
-
Saat proyek ini dijalankan, Robot VR akan menavigasi Disk Maze Playground dari awal hingga akhir. Begitu robot VR mendeteksi warna merah, ia akan berhenti bergerak.

Ringkasan
- Pada proyek dari Pelajaran sebelumnya, kondisi dalam pernyataan jika hanya diperiksa sekali. Karena kondisi dalam pernyataan jika hanya diperiksa sekali, Robot VR terus bergerak maju selamanya karena kondisi 'tidak ada warna' yang terdeteksi dilaporkan sebagai Benar di awal proyek.
- Sekarang setelah loop tak terbatas while ditambahkan, setiap kondisi dari pernyataan if akan diperiksa berulang kali. Kondisi pada loop while selalu bernilai True, dan oleh karena itu kode di dalam loop while akan selalu dieksekusi. Ini akan berulang kali memeriksa kondisi pernyataan jika selama proyek berjalan.
- Selama alur proyek, jika kondisi pernyataan jika bernilai Benar, maka perintah di dalam pernyataan jika akan dieksekusi. Jika kondisi pernyataan jika bernilai Salah, maka perintah di dalam pernyataan jika tidak akan dieksekusi, dan alur proyek akan berlanjut ke perintah berikutnya. Hal ini memungkinkan Robot VR untuk melakukan perilaku diskrit seperti berbelok atau berhenti setelah mendeteksi warna tertentu.
- Jika pernyataan digunakan dengan loop tak terbatas whileuntuk memastikan bahwa kondisi terus diperiksa.
Pertanyaan
Silakan pilih tautan di bawah ini untuk mengakses kuis pelajaran.
Google Doc / .docx / .pdf