Vòng lặp
i = 1 while i 0: n //= 10 # this is equivalent to n = n // 10 length += 1 print[length] # 45, nó sẽ ngay lập tức dừng thực thi vòng lặp và thoát khỏi vòng lặp đó. Trong trường hợp này, nhánh
n = int[input[]] length = 0 while n > 0: n //= 10 # this is equivalent to n = n // 10 length += 1 print[length] # 43 không được thực thi. Vì vậy,
n = int[input[]] length = 0 while n > 0: n //= 10 # this is equivalent to n = n // 10 length += 1 print[length] # 45 được sử dụng để hủy bỏ việc thực hiện vòng lặp ở giữa bất kỳ lần lặp nào
Đây là một ví dụ giống như Black Jack. một chương trình đọc các số và tính tổng cho đến khi tổng lớn hơn hoặc bằng 21. Dãy nhập kết thúc bằng 0 để chương trình có thể dừng ngay cả khi tổng của tất cả các số nhỏ hơn 21
Hãy xem nó hoạt động như thế nào trên các đầu vào khác nhau
Phiên bản 1. Vòng lặp được thoát bình thường sau khi kiểm tra điều kiện, vì vậy nhánh "else" được thực hiện
2 4 7 0
total_sum = 0 a = int[input[]] while a != 0: total_sum += a if total_sum >= 21: print['Total sum is', total_sum] break a = int[input[]] else: print['Total sum is less than 21 and is equal to', total_sum, '.']
Phiên bản 2. Vòng lặp bị hủy bỏ bởi
n = int[input[]] length = 0 while n > 0: n //= 10 # this is equivalent to n = n // 10 length += 1 print[length] # 45, vì vậy nhánh "else" bị bỏ qua
9 9 5 4 0
total_sum = 0 a = int[input[]] while a != 0: total_sum += a if total_sum >= 21: print['Total sum is', total_sum] break a = int[input[]] else: print['Total sum is less than 21 and is equal to', total_sum, '.']
Nhánh "Else" cũng có thể được sử dụng với vòng lặp "for". Hãy xem ví dụ khi chương trình đọc 5 số nguyên nhưng dừng ngay khi gặp số nguyên âm đầu tiên
Phiên bản 1. Vòng lặp được thoát bình thường, vì vậy nhánh "else" được thực thi
1 4 9 16 25 36 49 64 81 1001_______7_______2
Phiên bản 2. Vòng lặp bị hủy bỏ, vì vậy nhánh "else" không được thực thi
1 4 9 16 25 36 49 64 81 1003_______7_______2
Quảng cáo của Google, có thể dựa trên sở thích của bạn
Một hướng dẫn khác được sử dụng để kiểm soát việc thực hiện vòng lặp là
None0. Nếu trình thông dịch Python đáp ứng
None0 ở đâu đó giữa vòng lặp, nó sẽ bỏ qua tất cả các hướng dẫn còn lại và chuyển sang bước lặp tiếp theo
None
1 4 9 16 25 36 49 64 81 1006
Nếu
n = int[input[]] length = 0 while n > 0: n //= 10 # this is equivalent to n = n // 10 length += 1 print[length] # 45 và
None0 được đặt bên trong một số vòng lặp lồng nhau, thì chúng chỉ ảnh hưởng đến việc thực hiện vòng lặp trong cùng. Hãy xem ví dụ khá ngớ ngẩn để chứng minh điều đó
None
1 4 9 16 25 36 49 64 81 1008
Các hướng dẫn
n = int[input[]] length = 0 while n > 0: n //= 10 # this is equivalent to n = n // 10 length += 1 print[length] # 45 và
None0 không được khuyến khích, nếu bạn có thể thực hiện ý tưởng của mình mà không cần sử dụng chúng. Đây là một ví dụ điển hình về cách sử dụng sai của
n = int[input[]] length = 0 while n > 0: n //= 10 # this is equivalent to n = n // 10 length += 1 print[length] # 45. mã này đếm số chữ số trong một số nguyên
1 4 9 16 25 36 49 64 81 1009
i = 1 while i