Vòng lặp while trong Python

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