Itu Definisi dari continue
pernyataan adalah:
The
continue
pernyataan berlanjut dengan iterasi berikutnya dari loop.
Saya tidak dapat menemukan contoh kode yang bagus.
Bisakah seseorang menyarankan beberapa kasus sederhana di mana continue
diperlukan?
continue
dilakukan tetapi itu tidak terlalu berguna, ketika Anda bisa melakukannyaif letter != 'D': print 'Current Letter:', letter
Saya suka menggunakan terus dalam loop di mana ada banyak kondisi yang harus dipenuhi sebelum Anda "turun ke bisnis". Jadi alih-alih kode seperti ini:
Saya mendapatkan kode seperti ini:
Dengan melakukannya dengan cara ini saya menghindari kode yang sangat bersarang. Juga, mudah untuk mengoptimalkan loop dengan menghilangkan kasus yang paling sering terjadi terlebih dahulu, sehingga saya hanya harus berurusan dengan kasus yang jarang tetapi penting (misalnya pembagi adalah 0) ketika tidak ada showstopper lainnya.
sumber
continue
dengan cara ini mirip dengan menggunakanGOTO
. Namun, ini cara yang tepat untuk digunakanGOTO
.Biasanya situasi di mana lanjutkan diperlukan / berguna, adalah ketika Anda ingin melewatkan kode yang tersisa dalam loop dan melanjutkan iterasi.
Saya tidak benar-benar percaya itu perlu, karena Anda selalu dapat menggunakan pernyataan jika memberikan logika yang sama, tetapi mungkin berguna untuk meningkatkan keterbacaan kode.
sumber
if <condition>: continue
alih - alihif not <condition>: ...
menghindari tingkat lekukan yang seharusnya diperlukan jika ditulis tanpa itu.continue
pernyataan, kita pada dasarnya melompat keluar dari bagian pengujian bersyarat dan memungkinkan iterasi dari loop untuk melanjutkan ke iterasi berikutnya? Tidak jelas bagi saya bagaimana ini akan lebih baik daripada menggunakanelse
. Apakah ini semua tentang peningkatan keterbacaan dan kinerja run-time?melanjutkan adalah pernyataan kontrol yang sangat penting. Kode di atas menunjukkan aplikasi khas, di mana hasil pembagian dengan nol dapat dihindari. Saya sering menggunakannya ketika saya perlu menyimpan output dari program, tetapi tidak ingin menyimpan output jika program macet. Catatan, untuk menguji contoh di atas, ganti pernyataan terakhir dengan print 1 / float (x), atau Anda akan mendapatkan nol setiap kali ada pecahan, karena randint mengembalikan integer. Saya menghilangkannya untuk kejelasan.
sumber
Beberapa orang berkomentar tentang keterbacaan, dengan mengatakan, "Oh, itu tidak banyak membantu keterbacaan, siapa yang peduli?"
Misalkan Anda perlu cek sebelum kode utama:
Perhatikan Anda dapat melakukan ini setelah kode utama ditulis tanpa mengubah kode itu. Jika Anda membedakan kode, hanya baris yang ditambahkan dengan "lanjutkan" yang akan disorot karena tidak ada perubahan spasi pada kode utama.
Bayangkan jika Anda harus melakukan perbaikan kode produksi, yang ternyata hanya menambahkan baris dengan melanjutkan. Sangat mudah untuk melihat bahwa satu-satunya perubahan ketika Anda meninjau kode. Jika Anda mulai membungkus kode utama di if / else, diff akan menyorot kode yang baru diindentasi, kecuali jika Anda mengabaikan perubahan spasi, yang berbahaya terutama di Python. Saya pikir kecuali Anda sudah dalam situasi di mana Anda harus mengeluarkan kode dalam waktu singkat, Anda mungkin tidak sepenuhnya menghargai ini.
sumber
sumber
continue
pernyataan itu di sini? Itu bisa dihilangkan dengan menggunakan , dan kodenya akan mudah dibaca.element not in colors
Katakanlah kita ingin mencetak semua angka yang bukan kelipatan 3 dan 5
sumber
if x %3 == 0 or x % 5 == 0:
,pass
,else:
,print x
continue
. Kesimpulan saya adalah bahwa tidak pernah ada kebutuhan , tetapi dalam beberapa kasus (seperti ini) kodenya lebih mudah dibacacontinue
. Ini contoh yang sangat bagus.Ini tidak mutlak diperlukan karena dapat dilakukan dengan IF tetapi lebih mudah dibaca dan juga lebih murah dalam menjalankan waktu.
Saya menggunakannya untuk melewati iterasi dalam satu lingkaran jika data tidak memenuhi beberapa persyaratan:
Keluaran:
Seperti yang Anda lihat, nilai yang salah tidak berhasil setelah
continue
pernyataan.sumber
if
hanya dapat melakukan apacontinue
jika semua kode terkandung dalam sebuah blok.continue
melewatkan kode yang bahkan di luarif
blok.Misalnya jika Anda ingin melakukan hal-hal yang berbeda tergantung pada nilai variabel:
Dalam contoh di atas jika saya menggunakan
break
interpreter akan melewatkan loop. Tetapi dengancontinue
itu hanya melewatkan pernyataan if-elif dan langsung ke item berikutnya dari loop.sumber
my_var
dari0
.continue
.elif
harus menjadiif
. Kode hanya tidak memberikan tampilan yang Anda tahu apa yang Anda lakukan.continue
cukup lewati sisa kode dalam loop sampai iterasi berikutnyasumber