Hướng dẫn what can i use instead of break in python? - tôi có thể sử dụng gì thay vì break trong python?

1

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Trong ví dụ này, tôi đã tự hỏi những gì tôi có thể sử dụng thay vì phá vỡ

while (True):
    try:
        guess = ***********
        break
    except ValueError:
        print(***)

Hỏi ngày 25 tháng 4 năm 2020 lúc 6:14Apr 25, 2020 at 6:14

5

Bạn có thể khởi tạo guess thành một giá trị không hợp lệ và kiểm tra cho điều đó.

guess = None
while guess is None:
    try:
        guess = int(input('Please enter your guess for the roll: '))
    except ValueError:
        print('Only enter a number please')

Khi không có lỗi, guess sẽ được đặt thành một số nguyên, không phải là None, vì vậy vòng lặp sẽ kết thúc.

Nhưng tôi thích mã ban đầu của bạn, nó rõ ràng hơn.

Đã trả lời ngày 25 tháng 4 năm 2020 lúc 6:19Apr 25, 2020 at 6:19

Hướng dẫn what can i use instead of break in python? - tôi có thể sử dụng gì thay vì break trong python?

BarmarbarmarBarmar

699K53 Huy hiệu vàng469 Huy hiệu bạc578 Huy hiệu Đồng53 gold badges469 silver badges578 bronze badges

1

Vui lòng cung cấp thêm thông tin.

loop = True
while (loop):
    try:
        guess = int(input('Please enter your guess for the roll: '))
        loop =False
        #break
    except ValueError:
        print('Only enter a number please')

Đã trả lời ngày 25 tháng 4 năm 2020 lúc 6:19Apr 25, 2020 at 6:19

Hướng dẫn what can i use instead of break in python? - tôi có thể sử dụng gì thay vì break trong python?

Barmarbarmar

MAX_GUESS = 3
for _ in range(MAX_GUESS):
    try:
        guess = int(input('Input guess: '))
    except ValueError:
        print("Try again!")
    else:
        print("Success!")
        break
else:
    guess = None
    print("Max guesses attempted")

699K53 Huy hiệu vàng469 Huy hiệu bạc578 Huy hiệu Đồng

Vui lòng cung cấp thêm thông tin.Apr 25, 2020 at 6:46

Một cách tiếp cận khác sử dụng một dòng điều khiển python ít được biết đến nhưng hữu ích bao gồm sử dụng

guess = None
while guess is None:
    try:
        guess = int(input('Please enter your guess for the roll: '))
    except ValueError:
        print('Only enter a number please')
0 và
guess = None
while guess is None:
    try:
        guess = int(input('Please enter your guess for the roll: '))
    except ValueError:
        print('Only enter a number please')
1, nó vẫn yêu cầu
guess = None
while guess is None:
    try:
        guess = int(input('Please enter your guess for the roll: '))
    except ValueError:
        print('Only enter a number please')
2 nhưng tôi nghĩ nó vẫn là một sự thay thế gọn gàngMarkAWard

Khối

guess = None
while guess is None:
    try:
        guess = int(input('Please enter your guess for the roll: '))
    except ValueError:
        print('Only enter a number please')
3 gắn với vòng
guess = None
while guess is None:
    try:
        guess = int(input('Please enter your guess for the roll: '))
    except ValueError:
        print('Only enter a number please')
0 chỉ được nhập nếu không gặp phải
guess = None
while guess is None:
    try:
        guess = int(input('Please enter your guess for the roll: '))
    except ValueError:
        print('Only enter a number please')
2 trong vòng lặp, tương tự
guess = None
while guess is None:
    try:
        guess = int(input('Please enter your guess for the roll: '))
    except ValueError:
        print('Only enter a number please')
3 của
guess = None
while guess is None:
    try:
        guess = int(input('Please enter your guess for the roll: '))
    except ValueError:
        print('Only enter a number please')
1 chỉ được nhập nếu một ngoại lệ không được nâng lên trong2 gold badges16 silver badges28 bronze badges

Về mặt kỹ thuật, mọi tuyên bố dòng điều khiển là tương đương, i. e. Bạn có thể viết lại bất kỳ mã nào sử dụng một câu lệnh luồng điều khiển theo cách mà nó sử dụng một câu lệnh dòng điều khiển khác thay vào đó, trong khi đến cùng một kết quả. Không phải là nó sẽ luôn là một ý kiến ​​hay;)

Trong ví dụ của bạn, nếu vòng ngoài là một vòng lặp, bạn có thể sử dụng

guess = None
while guess is None:
    try:
        guess = int(input('Please enter your guess for the roll: '))
    except ValueError:
        print('Only enter a number please')
9 thay vì ngắt. Tuy nhiên, vì điều này sẽ chỉ dẫn đến việc chuyển sang lần lặp tiếp theo của vòng lặp, bạn cũng cần nhớ thực tế là bạn muốn thoát khỏi vòng lặp và kiểm tra điều này trong điều kiện vòng lặp của bạn:

bool end_of_loop = false;
...
do {
   ...
      ...
   if (...) {
      end_of_loop = true;
      continue;
   }
   ...
      ...
} while (!end_of_loop);

Mã này sẽ hoạt động cho bất kỳ loại vòng lặp:

loop = True
while (loop):
    try:
        guess = int(input('Please enter your guess for the roll: '))
        loop =False
        #break
    except ValueError:
        print('Only enter a number please')
0,
loop = True
while (loop):
    try:
        guess = int(input('Please enter your guess for the roll: '))
        loop =False
        #break
    except ValueError:
        print('Only enter a number please')
1 hoặc
loop = True
while (loop):
    try:
        guess = int(input('Please enter your guess for the roll: '))
        loop =False
        #break
    except ValueError:
        print('Only enter a number please')
2, nhưng không phải là các loại khối mã khác.

Ngoài ra, nó thực sự không cải thiện so với

guess = None
while guess is None:
    try:
        guess = int(input('Please enter your guess for the roll: '))
    except ValueError:
        print('Only enter a number please')
2 - không phải từ điểm đọc cũng không hiệu suất, vì vậy nếu mục tiêu của bạn là tránh các lệnh giống như ____ 24, bạn có thể sử dụng
loop = True
while (loop):
    try:
        guess = int(input('Please enter your guess for the roll: '))
        loop =False
        #break
    except ValueError:
        print('Only enter a number please')
5 bên trong mã của bạn như một phương tiện để bỏ qua phần còn lại của khối mã :

bool end_of_loop = false;
...
do {
   ...
      ...
   if (...) {
      end_of_loop = true;
   }
   if (!end_of_loop) {
      ...
            ...
   }
} while (!end_of_loop);

Điều này sẽ hoạt động trong bất kỳ loại khối mã, không chỉ các vòng lặp.

Chương này là từ cuốn sách 

Thoát ra khỏi vòng lặp và khối

Tuyên bố phá vỡ là một cách tiện dụng để thoát khỏi một vòng lặp từ bất cứ nơi nào trong cơ thể vòng lặp. Ví dụ: đây là một cách khác để tổng hợp một số số không xác định:

# donesum_break.py
total = 0
while True:
    s = input('Enter a number (or "done"): ')
    if s == 'done':
        break # jump out of the loop
    num = int(s)
    total = total + num
print('The sum is ' + str(total))

Điều kiện vòng lặp chỉ đơn giản là đúng, có nghĩa là nó sẽ lặp lại mãi mãi trừ khi ngắt được thực thi. Cách duy nhất để phá vỡ được thực thi là nếu s bằng 'xong'.

Một lợi thế lớn của chương trình này so với Donesum.py là câu lệnh đầu vào không được lặp lại. Nhưng một bất lợi lớn là lý do tại sao các vòng lặp được chôn trong thân vòng. Nó không quá khó để nhìn thấy nó trong ví dụ nhỏ này, nhưng trong các chương trình lớn hơn, các tuyên bố phá vỡ có thể là khó khăn để xem. Hơn nữa, bạn có thể có nhiều lần nghỉ tùy thích, điều này làm tăng thêm sự phức tạp của việc hiểu vòng lặp.

Nói chung, thật khôn ngoan khi tránh câu lệnh Break và chỉ sử dụng nó khi nó làm cho mã của bạn đơn giản hơn hoặc rõ ràng hơn.

Một người họ hàng phá vỡ là tuyên bố tiếp tục: Khi tiếp tục được gọi bên trong một cơ thể vòng lặp, nó ngay lập tức nhảy lên điều kiện vòng lặp, do đó tiếp tục với lần lặp tiếp theo của vòng lặp. Nó ít phổ biến hơn một chút so với phá vỡ, và nói chung nó nên tránh hoàn toàn.

Tôi có thể sử dụng gì thay vì phá vỡ?

Từ đồng nghĩa & Từ trái nghĩa của Break..
chia tay,.
disintegrate,.
dismember,.
disrupt,.
fracture,.
fragment,.

Là phá vỡ cần thiết trong Python?

Khoa học dữ liệu thực tế bằng cách sử dụng Python Tuyên bố phá vỡ có thể được sử dụng ở cả hai trong khi và cho các vòng lặp.Nếu bạn đang sử dụng các vòng lặp lồng nhau, câu lệnh Break sẽ dừng việc thực hiện vòng lặp trong cùng và bắt đầu thực hiện dòng mã tiếp theo sau khối.The break statement can be used in both while and for loops. If you are using nested loops, the break statement stops the execution of the innermost loop and start executing the next line of code after the block.

Làm thế nào để bạn phá vỡ một vòng lặp mà không bị phá vỡ trong Python?

Bạn có thể gói gọn mã của mình trong một hàm sau đó sử dụng câu lệnh trả về để thoát ra ...
Sử dụng một biến cờ;Bạn đã sử dụng một, chỉ cần sử dụng lại nó ở đây: ....
Trở lại từ một hàm:.

Có một lệnh break trong Python?

'Break' trong Python là một câu lệnh điều khiển vòng lặp.Nó được sử dụng để kiểm soát chuỗi của vòng lặp.Giả sử bạn muốn chấm dứt một vòng lặp và bỏ qua mã tiếp theo sau vòng lặp;Phá vỡ sẽ giúp bạn làm điều đó.Một kịch bản điển hình của việc sử dụng sự phá vỡ trong Python là khi một điều kiện bên ngoài kích hoạt sự chấm dứt của vòng lặp.. It is used to control the sequence of the loop. Suppose you want to terminate a loop and skip to the next code after the loop; break will help you do that. A typical scenario of using the Break in Python is when an external condition triggers the loop's termination.