Lặp có điều kiện: while loop trong Python (phần 3)

Cấu trúc và hành vi của một while Loop (tiếp tục)

Ví dụ sau là một script ngắn cái thúc giục người dùng cho một chuỗi các số, tính toán tổng của chúng, và cho ra
kết quả. Thay vì buộc người dùng nhập một số lần có hạn các giá trị, chương trình dừng quá trình nhập vào khi
người dùng đơn giản ấn return hay enter key. Chương trình nhận ra giá trị này như string rỗng. Chúng ta trước tiên
trình bày một bản nháp thô trong dạng một thuật toán pseudocode:

set the sum to 0.0
input a string
while the string is not the empty string

convert the string to a float
add the float to the sum
input a string

print the sum

Chú ý rằng có 2 phát biểu nhập vào, một cái chính trước loop header và một cái tại đáy loop body. Phát biểu nhập vào
đầu tiên khởi tạo một biến thành một giá trị cái điều kiện loop có thể test. Biến này cũng được gọi là loop control
variable. Phát biểu nhập vào thứ hai chứa các giá trị nhập vào khác, bao gồm một cái cái sẽ chấm dứt loop. Cũng chú
ý rằng nhập vào phải được nhận như một string, không phải số, nên chương trình có thể test cho một string rỗng.
Nếu string không là rỗng, chúng ta giả định rằng nó trình bày một số, và chúng ta chuyển đổi no thành một float.
Sau đây là Python code cho script này, theo sau bởi một theo dấu một chạy mẫu:

theSum = 0.0
data = input(“Enter a number or just enter to quit: “)
while data != “”:

number = float(data)
theSum += number
data = input(“Enter a number or just enter to quit: “)

print(“The sum is”, theSum)
Enter a number or just enter to quit: 3
Enter a number or just enter to quit: 4
Enter a number or just enter to quit: 5
Enter a number or just enter to quit:
The sum is 12.0

Trên lần chạy này, có 4 nhập vào, bao gồm một string rỗng. Bây giờ, giả sử chúng ta chạy script một lần nữa, và
người dùng nhập vào string rỗng tại prompt đầu tiên. Điều kiện của while loop ngay lập tức là false, và body của
nó không thực thi tí nào. Tổng in ra như 0.0, cái chính là đúng.
While loop cũng được gọi một entry-control loop vì điều kiện của nó được test tại đỉnh của loop. Cái này ngầm chỉ
rằng các phát biểu bên trong loop có thể thực thi 0 hay nhiều hơn số lần.

Chia sẻ