while True:
if "blablabla":
while True:
if "blablabla":
if "blablabla":
break
dòng code của em có dạng như trên, em muốn hỏi là viết code như thế nào để chữ break có thể dừng được lệnh while True đầu tiên ạ
while True:
if "blablabla":
while True:
if "blablabla":
if "blablabla":
break
dòng code của em có dạng như trên, em muốn hỏi là viết code như thế nào để chữ break có thể dừng được lệnh while True đầu tiên ạ
Bạn tạo 1 biến để xác nhận lúc nào muốn break thôi.
outer_can_break = False
while not outer_can_break:
if ...:
while True:
if ...:
if ...:
outer_can_break = True # phải gán trước khi break vòng while này
break
This post was flagged by the community and is temporarily hidden.
My comment is just a hint to the OP.
And you should be careful with your words.
Cậu cũng có thể tách toàn bộ loop thành 1 function, và dùng return
để kết thúc tất cả thay vì break
.
Bạn không nên dùng 2 while True
. Hãy biến một vòng while thành biến xác nhận như @noname00 hoặc hàm return như @library gợi ý.
Trong python, nhiều người còn cho rằng không nên dùng while True
https://www.quora.com/In-Python-is-while-True-bad-coding-style
Trong trường hợp bạn vẫn muốn dùng while True
thì nó luôn nên là câu lệnh ngoài cùng của chương trình hoặc của 1 process/thread con. Việc kết thúc vòng lặp này nên tương ứng với kết thúc vòng đời của thread/process đó.
Mặc khác, cũng không nên dùng goto
, vì cấu trúc này dễ làm code rối rắm và mất kiểm soát. Tiêu chuẩn MISRA - một trong những tiêu chuẩn chất lượng cho code trong automotive khuyến nghị không được dùng goto. https://www.mathworks.com/help/bugfinder/ref/misrac2023rule15.1.html
Các ngôn ngữ hiện đại cũng không còn hỗ trợ goto nữa. Hiện tại goto
chỉ còn được sử dụng phổ biến trong code C kernel Linux, nơi mà tốc độ được ưu tiên hàng đầu.
Ohm, thực ra sử dụng “goto” để exit most inner loop là valid use case đó cậu Và có mỗi TH này là valid use case của goto thôi
Tại đôi khi, có nhiều legacy logic khó có thể tách thành hàm riêng (với 20 parameter nếu tách thành hàm riêng trong 10 vòng lặp lồng nhau chẳng hạn, nó quá phức tạp), hay phải xét biến để thoát vòng lặp ở tất cả các vòng lặp phía trước.
Mỗi tội, python không có, nên tớ đã không đề cập