Rumah > pembangunan bahagian belakang > Tutorial Python > Mengapa Tidak Mengubah Suai Pembolehubah Lelaran For Loop Berfungsi seperti yang Dijangkakan dalam Python dan Bagaimana Ia Boleh Dibetulkan?

Mengapa Tidak Mengubah Suai Pembolehubah Lelaran For Loop Berfungsi seperti yang Dijangkakan dalam Python dan Bagaimana Ia Boleh Dibetulkan?

Patricia Arquette
Lepaskan: 2024-11-24 01:15:10
asal
818 orang telah melayarinya

Why Doesn't Modifying a For Loop's Iteration Variable Work as Expected in Python, and How Can It Be Fixed?

Memikirkan Semula Pengubahsuaian Pembolehubah Lelaran dalam Python

Apabila melelaran melalui jujukan menggunakan Python untuk gelung, seseorang mungkin menghadapi tingkah laku yang tidak dijangka jika cuba mengubah suai pembolehubah lelaran. Pertimbangkan kod Python berikut:

for i in range(0, 10):
    if i == 5:
        i += 3
    print(i)
Salin selepas log masuk

Output yang dijangkakan:

0
1
2
3
4
8
9
Salin selepas log masuk

Walau bagaimanapun, output sebenar berbeza:

0
1
2
3
4
8
6
7
8
9
Salin selepas log masuk

Mengapa nilai ' saya tidak berubah dalam gelung, dan apakah yang boleh dilakukan untuk membetulkannya?

Sebabnya terletak pada cara untuk gelung beroperasi dalam Python. Setiap lelaran gelung melibatkan penciptaan skop baharu dan memberikan nilai baharu kepada pembolehubah lelaran. Mengubah suai pembolehubah lelaran dalam gelung hanya mempengaruhi nilainya dalam lelaran semasa, meninggalkan lelaran berikutnya tidak terjejas.

Untuk mencapai gelagat yang dimaksudkan, seseorang boleh menggunakan gelung sementara. Berikut ialah kod yang diperbetulkan:

i = 0
while i < 10:
    # Perform operations and modify 'i' as needed
    if i == 5:
        i += 3

    print(i)

    # Increment 'i' manually within the loop
    i += 1
Salin selepas log masuk

Pendekatan ini mewujudkan satu skop dan membenarkan pengubahsuaian kepada 'i' berterusan sepanjang pelaksanaan gelung.

Atas ialah kandungan terperinci Mengapa Tidak Mengubah Suai Pembolehubah Lelaran For Loop Berfungsi seperti yang Dijangkakan dalam Python dan Bagaimana Ia Boleh Dibetulkan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan