Dari kursus: Pelatihan Esensial Python

Untuk

- [Instruktur] Saya suka sintaks loop for di Python. Daftar saya sama dengan 1, 2, 3, 4. Untuk item di myList, cetak item. Untuk item dalam daftar saya terbaca seperti bahasa Inggris biasa. Ini memungkinkan Anda mendeklarasikan variabel baru untuk menyimpan nilai setiap elemen saat Anda mengulanginya di Python. Ini singkat dan to the point dan saya tidak sendirian dalam kecintaan saya pada for loop Python. Faktanya, ini adalah loop paling umum yang akan Anda gunakan dan lihat orang lain gunakan saat Anda memprogram dengan Python. Jadi seperti loop for, saya akan membuat video ini singkat dan langsung ke intinya. Semua pernyataan yang kita bahas dalam video tentang while loops, Anda juga dapat menggunakan di for loop. Jadi jika kita ingin menulis rintisan untuk loop for dan mungkin kembali dan mengisinya nanti, kita bisa menggunakan pass. untuk letter, animals. Itu akan menjadi daftar hewan kita, di animalLookup.items, pass. Kita juga dapat melewatkan sisa loop selama setiap iterasi jika kita mau, menggunakan pernyataan continue. Jadi jika panjang hewan lebih besar dari satu, lanjutkan. Kemudian di luar blok if kita, cetak Hanya satu hewan. Dan mari kita cetak hewan-hewan di sini. Kita dapat mengulangi dan berhenti di tengah jalan jika kita menemukan apa yang kita cari menggunakan pernyataan break. Jadi tempelkan kode kita di sini dan kemudian di bawah sini, cetak Found length animals. Kami hanya akan menghitung jumlah hewan dalam daftar kami. Binatang. Dan kemudian istirahat. Perhatikan bahwa jika ada lebih banyak contoh dari dua atau lebih hewan dalam daftar kita, itu hanya akan berhenti setelah contoh pertama karena pernyataan break. Sekarang, ada satu hal yang sangat keren yang belum kita bahas, dan itu adalah pernyataan break else atau pernyataan for else. Dan salah satu contoh favorit saya untuk mendemonstrasikan ini adalah menemukan bilangan prima, sesuatu yang dilakukan komputer sepanjang waktu untuk kriptografi dan keamanan. Dan kita juga bisa melakukannya hanya dalam beberapa baris Python. Jadi kita akan menemukan semua bilangan prima antara dua dan 104. untuk angka dalam rentang (2, 100). Jadi angka adalah angka yang akan kita uji untuk keutamaan. Dan kemudian kita perlu menelusuri semua faktor potensial dari angka itu untuk menguji masing-masing dan melihat apakah itu habis dibagi dengan faktor itu. Jadi untuk faktor dalam range(2, int(number int number**0.5) + 1). Kita hanya perlu naik ke akar kuadrat dari bilangan atau angka yang dinaikkan ke pangkat setengah untuk menguji apakah itu prima. Jika kita belum menemukan faktor dengan akar kuadrat dari bilangan pada saat kita belum mencapai akar kuadrat, maka kita tahu bahwa itu adalah bilangan prima. Jadi di dalam sini, saya akan menguji setiap faktor. Jika faktor % angka == 0, istirahat. Oke, jadi kita bisa menggunakan modulus untuk melihat apakah itu dapat dibagi rata. Dan jika habis dibagi rata, kita tahu bahwa bilangan itu bukan prima karena memiliki faktor. Jadi pada saat itu, kita hanya break dan kemudian kita menambahkan pernyataan else kita. Jadi saya akan menambahkannya, ups, sejalan dengan loop for bagian dalam ini di sana. Jadi kita memiliki jeda yang keluar dari loop for ini dan kemudian kita memiliki pernyataan else. Dan di bawah sini, kami mengatakan nomor cetak adalah prima. Baiklah, jadi pernyataan else ini hanya akan dimasukkan jika jeda tidak terjadi di loop sebelumnya. Jadi jika nomor kita memiliki faktor, jeda ini terjadi dan kita melewatkan yang lain. Selain itu, kami tidak menemukan faktor apa pun, istirahat tidak terjadi dan itu prima. Jadi mari kita periksa ini. Ya, itu semua terlihat prima bagi saya. Perhatikan bahwa pola break-else ini juga dapat digunakan dengan loop while. Jika Anda menempatkan jeda dalam perulangan while Anda, Anda dapat menambahkan pernyataan else di bagian akhir segera setelah perulangan itu. Dan yang lain hanya terjadi jika istirahat tidak dilemparkan. Jadi sangat sering, Anda akan melihat kode yang ditulis oleh programmer Python yang kurang berpengetahuan dari Anda yang terlihat seperti ini, dengan variabel tambahan. Jadi untuk angka dalam kisaran, dua hingga 100, found_factors = False. Untuk faktor dalam range(2, int(number**0.5) + 1), jika angka % faktor == 0, found_factors = True. Dan kemudian kami istirahat. Dan kemudian di luar sini, jika tidak found_factors, nomor cetak adalah prima. Oke. Dan jika kita menjalankan ini, kita mendapatkan output yang sama persis. Dan sebenarnya, ini adalah dua bagian kode yang setara. Kami hanya menggunakan found_factors ini untuk melacak apakah terjadi istirahat atau tidak. Dan alih-alih memiliki pernyataan else di sana, kita memiliki jika tidak found_factors, tetapi pada dasarnya mereka melakukan hal yang sama. Tapi ini di bawah ini jelas lebih banyak kode. Ini berantakan, Anda memiliki cek tambahan. Memahami dan menggunakan pass, continue, break, dan lainnya akan membantu menjaga loop Anda tetap bersih, elegan, dan seperti yang kami katakan, Pythonic.

Konten