Không có do...while
loop vì không có cách nào tốt đẹp để xác định một phù hợp trong mẫu statement: indented block
sử dụng bởi mỗi khác Tuyên bố hợp chất Python. Vì những đề xuất như vậy để thêm cú pháp như vậy chưa bao giờ đạt được thỏa thuận.
Cũng không có thực sự bất kỳ cần để có một cấu trúc như vậy, không phải khi bạn chỉ có thể làm:
while True:
# statement(s)
if not condition:
break
và có tác dụng chính xác giống như một C do { .. } while condition
vòng lặp.
Xem PEP 315 -- Enhanced While Loop:
Bị từ chối [...] vì không có cú pháp xuất hiện mà có thể cạnh tranh với các hình thức sau đây:
while True:
<setup code>
if not <condition>:
break
<loop body>
Một cú pháp thay thế cho một trong những đề xuất trong PEP là được tìm thấy cho vòng lặp do-while cơ bản nhưng nó đã nhận được ít hỗ trợ vì điều kiện ở trên cùng:
do ... while <cond>:
<loop body>
hoặc, như Guido van Rossum put it:
hãy từ chối PEP. Các biến thể khác dọc theo các dòng này sẽ không làm cho ngôn ngữ thanh lịch hơn hoặc dễ học hơn. Họ chỉ cần tiết kiệm một vài người vội vàng một số người gõ trong khi làm cho những người khác phải đọc/duy trì mã của họ tự hỏi ý nghĩa của nó.
Nguồn
2016-05-17 16:32:38
Trạng thái * Bị từ chối *: https://www.python.org/dev/peps/pep-0315/ –
Sao chép có thể xảy ra [Mô phỏng vòng lặp do-while trong Python?] (Http: // stackoverflow. com/questions/743164/thi đua-a-do-while-loop-in-python) – miradulo
Thông báo giữ lại: Liên kết được cung cấp bởi Martijn trông không dựa trên ý kiến: "Những nỗ lực tiếp theo để phục hồi PEP trong tháng 4 năm 2009 đã không gặp thành công vì không có cú pháp nào xuất hiện mà có thể cạnh tranh ... " –