Meniru Gelung Do-While dalam Python
Dalam Python, gelung while standard beroperasi pada pernyataan syarat. Walau bagaimanapun, terdapat senario di mana gelung do-while, yang melaksanakan blok kod sekurang-kurangnya sekali sebelum menilai keadaan, mungkin bermanfaat.
Emulasi menggunakan Bendera Benar:
Untuk mensimulasikan gelung do-while, gunakan True bendera:
done = False while not done: # Code block # Set 'done' to True to terminate the loop if condition: done = True
Emulasi dengan Iterator:
Kaedah lain melibatkan penggunaan iterator:
iterator = iter(my_list) while True: try: element = next(iterator) # Code block except StopIteration: break
Pendekatan ini meniru tingkah laku do -while loop dengan mula-mula memulakan iterator. Jika pengecualian 'StopIteration' tidak dinaikkan (menunjukkan terdapat lebih banyak elemen untuk diulang), blok kod dilaksanakan sebelum cuba mengambil elemen seterusnya daripada iterator.
Menggunakan Pemahaman Senarai:
Untuk kes yang lebih mudah, seseorang juga boleh menggunakan pemahaman senarai untuk mencapai yang serupa kefungsian:
[print(i) for i in my_list]
Kes Penggunaan Khusus:
Seperti yang dinyatakan dalam soalan, gelung do-while boleh berguna dalam senario mesin keadaan. Berikut ialah contoh untuk tugas menghurai fail:
for line in input_file: while True: if current_state == 'CODE': if '//' in line: # Handle comment state current_state = 'COMMENT' else: # Handle code state elif current_state == 'COMMENT': if '//' in line: # Handle comment state else: # Handle code state and break to evaluate the next line current_state = 'CODE' break # Break if there are no more lines to parse if not line: break
Dalam senario ini, penggunaan gelung do-while memastikan setiap baris dalam fail diproses sekurang-kurangnya sekali, sementara keadaan mesin beralih dan keadaan semakan dikendalikan dalam lelaran gelung.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mensimulasikan Gelung Do-While dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!