Cấu trúc điều khiển vòng lặp while trong Python

Đây là bài 12/54 bài của series môn học Ngôn ngữ lập trình Python

1. Vòng lặp while trong Python

Vòng lặp while được sử dụng để thực thi lặp đi lặp lại một khối lệnh khi thỏa một điều kiện nhất định nào đó. Cú pháp vòng lặp while:

while condition:
    #Body of while

Nếu conditionTrue thì các khối lệnh trong thân while sẽ được thực thi. Nếu conditionFalse thì các khối lệnh trong thân while sẽ không được thực thi. Lưu ý: Trình biên dịch của Python sẽ hiểu bất kỳ giá trị nào của condition khác 0 sẽ là True. Còn None hoặc 0 sẽ là False.

Ví dụ:

sum = 0
i = 1
while (i < 5):
    sum = sum + i
    print(i, end=' ')
    i = i+1
print("\nsum = ", sum)
Kết quả
1 2 3 4 
sum =  10

Chúng ta cũng có thể sử dụng while để duyệt các phần tử trong list.

fruits = ["apple", "banana", "cherry"]
i = 0
while i < len(fruits):
    print(fruits[i])
    i = i + 1
Kết quả
apple
banana
cherry

2. Vòng lặp while trong một dòng lệnh

Chúng ta có thể viết vòng lặp while chỉ trong một dòng lệnh. Lúc này, nếu trong thân của while có nhiều câu lệnh thì các câu lệnh phân tách nhau bởi dấu chấm phẩy ;. Ví dụ:

i = 0
sum = 0
while (i < 3): i += 1; print("Welcome to Gochocit.com"); sum +=i
print("sum = ", sum)
Kết quả
Welcome to Gochocit.com
Welcome to Gochocit.com
Welcome to Gochocit.com
sum =  6

3. Vòng lặp while với else

Giống như vòng lặp for trong Python, vòng lặp while cũng có thể được sử dụng với else. Khối lệnh của else chỉ thực thi sau khi condition của vòng lặp whileFalse. Lưu ý: Trong trường hợp vòng lặp while có câu lệnh break và câu lệnh break làm thoát vòng lặp while thì khối lệnh trong else cũng sẽ không được thực thi.

Ví dụ sử dụng vòng lặp while với else

numbers = [0, 1, 5]
i = 0
while i < len(numbers):
    print(numbers[i])
    i = i + 1
else:
    print("That is all in numbers list.")
Kết quả
0
1
5
That is all in numbers list.

Ví dụ sử dụng vòng lặp while có break với else

print("#Result 1")
i = 0
while i < 4:
    if(i!=9):
        print(i)
    else:
        break
    i = i + 1
else:  # Executed because break in for is not executed
    print("No Break")

print("#Result 2")
i = 0
while i < 4:
    if(i!=3):
        print(i)
    else:
        break
    i = i + 1
else:  # Not executed as there is a break is executed
    print("No Break")
Kết quả
#Result 1
0
1
2
3
No Break
#Result 2
0
1
2

Trong ví dụ trên, nếu break trong while được thực hiện (làm thoát khỏi vòng lặp while) thì else sẽ không được thực hiện. Còn nếu trong whilebreakbreak trong while không thực thi thì else vẫn được thực thi.

4. Kiểm tra giá trị input với vòng lặp while

Tính chất của vòng lặp while là lặp đi lặp lại một khối lệnh cho đến khi thỏa mãn một điều kiện nhất định. Dựa vào tính chất này, chúng ta có thể sử dụng while để giúp kiểm tra giá trị input mà người dùng nhập vào. Nếu giá trị input mà người dùng nhập không thỏa yêu cầu thì sẽ yêu cầu người dùng nhập lại cho đến khi thỏa yêu cầu thì thôi. Ví dụ:

a = int(input('Enter a positive number: '))
 
while a <= 0:
    a = int(input('Enter a positive number: '))
Kết quả
Enter a positive number: -9
Enter a positive number: -1
Enter a positive number: -2
Enter a positive number: -8
Enter a positive number: -5
Enter a positive number: 7

Vòng lặp while giúp kiểm tra một số a nhập vào mà a<= 0 thì phải nhập tiếp. Đến khi nào người dùng nhập a > 0 thì mới dừng.

5/5 - (1 bình chọn)
Bài trước và bài sau trong môn học<< Cấu trúc điều khiển vòng lặp for trong PythonVòng lặp trong Python: Sử dụng câu lệnh break, continue, pass >>
Chia sẻ trên mạng xã hội:

Trả lời

Lưu ý:

1) Vui lòng bình luận bằng tiếng Việt có dấu.

2) Khuyến khích sử dụng tên thật và địa chỉ email chính xác.

3) Mọi bình luận trái quy định sẽ bị xóa bỏ.