Trong quá trình coding, các vòng lặp được thiết kế để thực thi lặp đi lặp lại một khối mã được chỉ định. Chúng ta sẽ tìm hiểu cách xây dựng vòng lặp while trong Python, cú pháp của vòng lặp while, các điều khiển vòng lặp như break và continue cũng như các bài tập khác trong hướng dẫn này.
Giới thiệu vòng lặp while của Python
Trong bài viết này, chúng ta đang thảo luận về vòng lặp while trong Python. Vòng lặp while lặp trong Python của một khối mã được thực thi khi các điều kiện, biểu thức là đúng.
Cú pháp của vòng lặp while trong Python
Statement
while Condition:
Statement
Điều kiện đã cho, tức là biểu thức điều kiện, được đánh giá ban đầu trong vòng lặp while của Python. Sau đó, nếu biểu thức điều kiện cho giá trị boolean True thì các câu lệnh vòng lặp while sẽ được thực thi. Biểu thức điều kiện được xác minh lại khi khối mã hoàn chỉnh được thực thi. Quy trình này xảy ra lặp đi lặp lại cho đến khi biểu thức điều kiện trả về giá trị boolean Sai.
- Các câu lệnh của vòng lặp while trong Python được xác định bằng cách thụt lề.
- Khối mã bắt đầu khi một câu lệnh được thụt lề và kết thúc bằng câu lệnh không thụt lề đầu tiên.
- Bất kỳ số nào khác 0 trong Python đều được hiểu là boolean True. False được hiểu là None và 0.
Example
Bây giờ, chúng tôi đưa ra một số ví dụ về Vòng lặp while trong Python.
Program code 1:
Bây giờ, chúng tôi đưa ra các ví dụ code về vòng lặp while trong Python để in các số từ 1 đến 10. Theo dõi đoạn code được đưa ra dưới đây –
i=1
while i<=10:
print(i, end=' ')
i+=1
Output:
Bây giờ, chúng tôi biên dịch đoạn mã trên bằng python và sau khi biên dịch thành công và chạy nó. Sau đó, đầu ra được đưa ra dưới đây –
1 2 3 4 5 6 7 8 9 10
Program Code 2:
Bây giờ, chúng tôi đưa ra các ví dụ mã về vòng lặp while trong Python để in các số chia hết cho 5 hoặc 7 trong khoảng từ 1 đến 50 bằng vòng lặp while. Code được đưa ra dưới đây –
i=1
while i<51:
if i%5 == 0 or i%7==0 :
print(i, end=' ')
i+=1
Output:
Sau khi chạy đoạn mã trên, đầu ra hiển thị phía dưới đây –
5 7 10 14 15 20 21 25 28 30 35 40 42 45 49 50
Program Code:
Bây giờ, chúng tôi đưa ra các ví dụ mã về vòng lặp while trong Python, tổng bình phương của 15 số tự nhiên đầu tiên sử dụng vòng lặp while. Mã được đưa ra dưới đây –
# Python program example to show the use of while loop
num = 15
# initializing summation and a counter for iteration
summation = 0
c = 1
while c <= num: # specifying the condition of the loop
# begining the code block
summation = c**2 + summation
c = c + 1 # incrementing the counter
# print the final sum
print("The sum of squares is", summation)
Output:
Sau khi chạy chương trình, chúng ta được kết quả –
The sum of squares is 1240
Với điều kiện tham số bộ đếm i của chúng ta cho giá trị boolean đúng cho điều kiện, i nhỏ hơn hoặc bằng num, vòng lặp sẽ thực thi khối mã i nhiều lần.
Tiếp theo là một điểm quan trọng, chúng ta phải tăng giá trị của tham số bộ đếm trong các câu lệnh của vòng lặp. Nếu không, vòng lặp while của chúng ta sẽ tự thực thi vô thời hạn (vòng lặp không bao giờ kết thúc).
Cuối cùng, chúng ta in kết quả bằng câu lệnh print.
Bài tập vòng lặp while của Python
Tìm số nguyên tố
Sử dụng vòng lặp while, chúng ta sẽ xây dựng chương trình Python để xác minh xem số nguyên đã cho có phải là số nguyên tố hay không.
Program Code:
Bây giờ, chúng tôi đưa ra các ví dụ mã về vòng lặp while trong Python để tìm một số có phải là số nguyên tố hay không. Theo dõi đoạn mã dưới đây –
num = [34, 12, 54, 23, 75, 34, 11]
def prime_number(number):
condition = 0
iteration = 2
while iteration <= number / 2:
if number % iteration == 0:
condition = 1
break
iteration = iteration + 1
if condition == 0:
print(f"{number} is a PRIME number")
else:
print(f"{number} is not a PRIME number")
for i in num:
prime_number(i)
Output:
34 is not a PRIME number
12 is not a PRIME number
54 is not a PRIME number
23 is a PRIME number
75 is not a PRIME number
34 is not a PRIME number
11 is a PRIME number
Tìm số Armstrong
Chúng ta sẽ xây dựng một chương trình Python bằng vòng lặp while để xác minh xem số nguyên đã cho có phải là số Armstrong hay không.
Program Code:
n = int(input())
n1=str(n)
l=len(n1)
temp=n
s=0
while n!=0:
r=n%10
s=s+(r**1)
n=n//10
if s==temp:
print("It is an Armstrong number")
else:
print("It is not an Armstrong number ")
Output:
342
It is not an Armstrong number
Bảng cửu chương
Program Code:
num = 21
counter = 1
# we will use a while loop for iterating 10 times for the multiplication table
print("The Multiplication Table of: ", num)
while counter <= 10: # specifying the condition
ans = num * counter
print (num, 'x', counter, '=', ans)
counter += 1 # expression to increment the counter
Output:
The Multiplication Table of: 21
21 x 1 = 21
21 x 2 = 42
21 x 3 = 63
21 x 4 = 84
21 x 5 = 105
21 x 6 = 126
21 x 7 = 147
21 x 8 = 168
21 x 9 = 189
21 x 10 = 210
Vòng lặp while với list
Program Code 1:
# Python program to square every number of a list
# initializing a list
list_ = [3, 5, 1, 4, 6]
squares = []
# programing a while loop
while list_: # until list is not empty this expression will give boolean True after that False
squares.append( (list_.pop())**2)
# Print the squares of all numbers.
print( squares )
Output:
[36, 16, 1, 25, 9]
Program Code 2:
list_ = [3, 4, 8, 10, 34, 45, 67,80] # Initialize the list
index = 0
while index < len(list_):
element = list_[index]
if element % 2 == 0:
print('It is an even number') # Print if the number is even.
else:
print('It is an odd number') # Print if the number is odd.
index += 1
Output:
It is an odd number
It is an even number
It is an even number
It is an even number
It is an even number
It is an odd number
It is an odd number
It is an even number
Program Code 3:
List_= ['Priya', 'Neha', 'Cow', 'To']
index = 0
while index < len(List_):
element = List_[index]
print(len(element))
index += 1
Output:
5
4
3
2
Vòng lặp while với nhiều điều kiện
Program Code:
num1 = 17
num2 = -12
while num1 > 5 and num2 < -5 : # multiple conditions in a single while loop
num1 -= 2
num2 += 3
print( (num1, num2) )
Output:
(15, -9)
(13, -6)
(11, -3)
Hãy xem một ví dụ khác với toán tử OR.
Code
num1 = 17
num2 = -12
while num1 > 5 or num2 < -5 :
num1 -= 2
num2 += 3
print( (num1, num2) )
Output:
(15, -9)
(13, -6)
(11, -3)
(9, 0)
(7, 3)
(5, 6)
Chúng ta cũng có thể nhóm nhiều biểu thức logic trong vòng lặp while, như trong ví dụ này.
Code
num1 = 9
num = 14
maximum_value = 4
counter = 0
while (counter < num1 or counter < num2) and not counter >= maximum_value: # grouping multiple conditions
print(f"Number of iterations: {counter}")
counter += 1
Output:
Number of iterations: 0
Number of iterations: 1
Number of iterations: 2
Number of iterations: 3
Viết code trên 1 dòng
Tương tự như cú pháp câu lệnh if, nếu mệnh đề while của chúng ta bao gồm một câu lệnh, nó có thể được viết trên cùng dòng với từ khóa while.
Đây là cú pháp và ví dụ –
# Python program to show how to create a single statement while loop
counter = 1
while counter: print('Python While Loops')
Câu lệnh điều khiển vòng lặp while
Continue Statement
Code
# Python program to show how to use continue loop control
# Initiating the loop
for string in "While Loops":
if string == "o" or string == "i" or string == "e":
continue
print('Current Letter:', string)
Output:
Current Letter: W
Current Letter: h
Current Letter: l
Current Letter:
Current Letter: L
Current Letter: p
Current Letter: s
Break Statement
Code
# Python program to show how to use the break statement
# Initiating the loop
for string in "Python Loops":
if string == 'n':
break
print('Current Letter: ', string)
Output:
Current Letter: P
Current Letter: y
Current Letter: t
Current Letter: h
Current Letter: o
Pass Statement
Code
# Python program to show how to use the pass statement
for a string in "Python Loops":
pass
print( 'The Last Letter of given string is:', string)
Output:
The Last Letter of given string is: s