CÂU LỆNH while TRONG PYTHON
1. Khái niệm
Trong Python, câu lệnh while được sử dụng để lặp lại một nhóm câu lệnh khi một điều kiện còn đúng.
Vòng lặp while thường được sử dụng khi việc tiếp tục thực hiện phụ thuộc vào một điều kiện nào đó.
Ví dụ:
- In các số từ 1 đến 10.
- Tính tổng các số từ 1 đến
n. - Yêu cầu người dùng nhập lại dữ liệu khi dữ liệu chưa hợp lệ.
2. Cú pháp
while dieu_kien:
cau_lenh
Trong đó:
dieu_kienlà biểu thức có giá trịTruehoặcFalse.- Nếu điều kiện đúng (
True), các câu lệnh bên trongwhileđược thực hiện. - Sau đó Python kiểm tra lại điều kiện.
- Khi điều kiện sai (
False), vòng lặp kết thúc.
3. Cách hoạt động của while
Vòng lặp while hoạt động theo các bước:
- Kiểm tra điều kiện.
- Nếu điều kiện đúng, thực hiện các câu lệnh trong vòng lặp.
- Quay lại kiểm tra điều kiện.
- Tiếp tục thực hiện nếu điều kiện vẫn đúng.
- Kết thúc khi điều kiện sai.
Sơ đồ:
4. Ví dụ cơ bản
Ví dụ 1: In các số từ 1 đến 5
i = 1
while i <= 5:
print(i)
i = i + 1
Kết quả:
1
2
3
4
5
Giải thích
Ban đầu:
i = 1
Điều kiện của vòng lặp là:
i <= 5
Khi điều kiện đúng, chương trình thực hiện:
print(i)
i = i + 1
Sau mỗi lần thực hiện, giá trị của i tăng thêm 1.
Các giá trị của i lần lượt là:
1
2
3
4
5
Sau khi i tăng thành 6, điều kiện:
i <= 5
không còn đúng nên vòng lặp kết thúc.
5. Biến điều khiển vòng lặp
Trong vòng lặp while, thường có một biến dùng để kiểm soát số lần thực hiện.
Ví dụ:
i = 1
while i <= 5:
print(i)
i += 1
Trong đó:
i += 1
có nghĩa là:
i = i + 1
Biến i được gọi là biến điều khiển vòng lặp.
6. Đếm tăng bằng while
Ví dụ: In các số từ 1 đến 10.
i = 1
while i <= 10:
print(i)
i += 1
Kết quả:
1
2
3
4
5
6
7
8
9
10
Trong chương trình trên:
- Giá trị ban đầu của
ilà1. - Điều kiện lặp là
i <= 10. - Sau mỗi lần lặp,
ităng thêm1.
7. Đếm giảm bằng while
Ví dụ: In các số từ 5 về 1.
i = 5
while i >= 1:
print(i)
i -= 1
Kết quả:
5
4
3
2
1
Trong đó:
i -= 1
có nghĩa là:
i = i - 1
8. Tính tổng bằng while
Ví dụ: Tính tổng các số từ 1 đến 5
i = 1
tong = 0
while i <= 5:
tong = tong + i
i += 1
print(tong)
Kết quả:
15
Vì:
1 + 2 + 3 + 4 + 5 = 15
Giải thích
Ban đầu:
tong = 0
Sau mỗi lần lặp:
tong = tong + i
Giá trị của tong lần lượt thay đổi:
0 + 1 = 1
1 + 2 = 3
3 + 3 = 6
6 + 4 = 10
10 + 5 = 15
9. Tính tổng từ 1 đến n
n = int(input("Nhập n: "))
i = 1
tong = 0
while i <= n:
tong += i
i += 1
print("Tổng =", tong)
Ví dụ người dùng nhập:
5
Kết quả:
Tổng = 15
10. In các số chẵn
Ví dụ: In các số chẵn từ 2 đến 10.
i = 2
while i <= 10:
print(i)
i += 2
Kết quả:
2
4
6
8
10
11. In các số lẻ
Ví dụ: In các số lẻ từ 1 đến 9.
i = 1
while i <= 9:
print(i)
i += 2
Kết quả:
1
3
5
7
9
12. Kết hợp while với câu lệnh if
Có thể sử dụng if bên trong vòng lặp while.
Ví dụ: In các số chẵn từ 1 đến 10.
i = 1
while i <= 10:
if i % 2 == 0:
print(i)
i += 1
Kết quả:
2
4
6
8
10
Trong đó:
i % 2 == 0
dùng để kiểm tra i có phải số chẵn hay không.
13. Nhập dữ liệu bằng while
Vòng lặp while có thể được sử dụng để yêu cầu người dùng nhập lại dữ liệu khi dữ liệu chưa phù hợp.
Ví dụ:
n = int(input("Nhập một số lớn hơn 0: "))
while n <= 0:
n = int(input("Nhập lại một số lớn hơn 0: "))
print("Bạn đã nhập:", n)
Nếu người dùng nhập:
-2
chương trình sẽ yêu cầu nhập lại.
Khi người dùng nhập:
5
điều kiện:
n <= 0
không còn đúng và vòng lặp kết thúc.
14. Một số dạng thường gặp
Dạng 1: Đếm từ nhỏ đến lớn
i = 1
while i <= n:
print(i)
i += 1
Dạng 2: Đếm từ lớn đến nhỏ
i = n
while i >= 1:
print(i)
i -= 1
Dạng 3: Tính tổng
i = 1
tong = 0
while i <= n:
tong += i
i += 1
Dạng 4: Đếm theo bước nhảy
i = 0
while i <= 10:
print(i)
i += 2
Kết quả:
0
2
4
6
8
10
15. So sánh while và for
Cả while và for đều được sử dụng để thực hiện một nhóm câu lệnh nhiều lần.
Sử dụng for
for i in range(1, 6):
print(i)
Sử dụng while
i = 1
while i <= 5:
print(i)
i += 1
Cả hai chương trình đều cho kết quả:
1
2
3
4
5
Thông thường:
forthuận tiện khi biết rõ số lần lặp.whilethuận tiện khi việc tiếp tục lặp phụ thuộc vào một điều kiện.
16. Lưu ý khi sử dụng while
Khi viết vòng lặp while, cần chú ý ba thành phần chính:
1. Giá trị ban đầu
Ví dụ:
i = 1
2. Điều kiện lặp
Ví dụ:
while i <= 5:
3. Thay đổi biến điều khiển
Ví dụ:
i += 1
Một cấu trúc thường gặp là:
i = gia_tri_ban_dau
while dieu_kien:
# Các câu lệnh cần thực hiện
i += 1
17. Ví dụ tổng hợp
Bài toán
Nhập một số nguyên dương n. Tính tổng các số chẵn từ 1 đến n.
Chương trình
n = int(input("Nhập n: "))
i = 1
tong = 0
while i <= n:
if i % 2 == 0:
tong += i
i += 1
print("Tổng các số chẵn =", tong)
Ví dụ:
Nhập n: 10
Tổng các số chẵn = 30
Vì:
2 + 4 + 6 + 8 + 10 = 30
18. Ghi nhớ
Cú pháp của vòng lặp while:
while dieu_kien:
cau_lenh
Một vòng lặp while cơ bản thường gồm:
i = gia_tri_ban_dau
while dieu_kien:
# Xử lý
i = i + 1
Khi sử dụng while, cần xác định rõ:
- Giá trị ban đầu của biến.
- Điều kiện để tiếp tục lặp.
- Cách thay đổi biến sau mỗi lần lặp.
Điều kiện của while được kiểm tra trước mỗi lần thực hiện, vì vậy nếu điều kiện không đúng ngay từ đầu thì các câu lệnh bên trong while sẽ không được thực hiện.

Bình luận