Skip to content
Home » While Else Python 3 | Cấu Trúc Vòng Lặp While Và Cách Hoạt Động

While Else Python 3 | Cấu Trúc Vòng Lặp While Và Cách Hoạt Động

#5: Python for..else & while...else | Python Best Practices

Kết hợp while với else

Giống như vòng lặp

for

, bạn cũng có thể kết hợp

else

với

while

. Trong trường hợp này, khối lệnh của

else

sẽ được thực hiện khi điều kiện của

while

là False.

Ví dụ: Minh họa việc sử dụng while kết hợp với else


dem = 0 while dem < 3: print("Đang ở trong vòng lặp while") dem = dem + 1 else: print("Đang ở trong else")

Ở đây ta sử dụng biến dem để in chuỗi “Đang ở trong vòng lặp while” 3 lần. Đến lần lặp thứ 4, điều kiện của

while

trở thành False, nên phần lệnh của

else

được thực thi. Kết quả là:


Đang ở trong vòng lặp while Đang ở trong vòng lặp while Đang ở trong vòng lặp while Đang ở trong else

Ví dụ: Đếm và in các số nhỏ hơn 2


n = 0 while n < 2: print(n,"nhỏ hơn 2") n = n + 1 else: print (n,"không nhỏ hơn 2")

Giá trị ban đầu của n ta gán là 0, tăng dần giá trị của n và in, lặp cho đến khi n không nhỏ hơn 2, nếu n bằng hoặc lớn hơn 2 thì vòng lặp kết thúc và khối lệnh

else

sẽ được thực thi, kết quả là:


0 là nhỏ hơn 2 1 là nhỏ hơn 2 2 không nhỏ hơn 2

while Loop Syntax


while condition: # body of while loop

Here,

  1. The

    while

    loop evaluates the condition.
  2. If the condition is true, body of while loop is executed. The condition is evaluated again.
  3. This process continues until the condition is

    False

    .
  4. Once the condition evaluates to

    False

    , the loop terminates.
#5: Python for..else & while...else | Python Best Practices
#5: Python for..else & while…else | Python Best Practices

Tải xuống

Tài liệu

Nhằm phục vụ mục đích học tập Offline của cộng đồng, Kteam hỗ trợ tính năng lưu trữ nội dung bài học Vòng lặp While trong Python dưới dạng file PDF trong link bên dưới.

Ngoài ra, bạn cũng có thể tìm thấy các tài liệu được đóng góp từ cộng đồng ở mục TÀI LIỆU trên thư viện Howkteam.com

Đừng quên like và share để ủng hộ Kteam và tác giả nhé!

Củng cố bài học

Đáp án bài trước

Bạn có thể tìm thấy câu hỏi của phần này tại CÂU HỎI CỦNG CỐ trong bài CẤU TRÚC RẼ NHÁNH TRONG PYTHON

Cách 1:


k1 = int(input('Nhap so thu nhat\n=> ')) k2 = int(input('Nhap so thu hai\n=> ')) k3 = int(input('Nhap so thu ba\n=> ')) if k1 > k2 and k1 > k3: print('so lon nhat la', k1) elif k2 > k1 and k2 > k3: print('so lon nhat la', k2) else: print('so lon nhat la', k3)

Cách 2:


k1 = int(input('Nhap so thu nhat\n=> ')) k2 = int(input('Nhap so thu hai\n=> ')) k3 = int(input('Nhap so thu ba\n=> ')) if k1 > k2 and k1 > k3: print('so lon nhat la', k1) elif k2 > k1 and k2 > k3: print('so lon nhat la', k2) else: print('so lon nhat la', k3)

Câu hỏi củng cố

  1. Viết lại một vòng lặp có chức năng tương tự ví dụ * nhưng không dùng câu lệnh break
  2. Cho một file text tên draft.txt như sau:


an so dfn Kteam odsa in fasfna Kteam mlfjier as dfasod nf ofn asdfer fsan dfoans ldnfad Kteam asdfna asdofn sdf pzcvqp Kteam dfaojf kteam dfna Kteam dfaodf afdna Kteam adfoasdf ncxvo aern Kteam dfad

Trong file này có một số chữ Kteam (Kteam sẽ không xuất hiện ở đầu dòng), và trước nó là một chữ ngẫu nhiên nào đó và nhiệm vụ của bạn là đổi chữ đó thành How. Nhớ là sử dụng vòng lặp.

Sau khi đổi thành công, bạn lưu nội dung đó vào file tên kteam.txt.

Đây là mẫu của kteam.txt:


an so How Kteam odsa in How Kteam mlfjier as dfasod nf ofn asdfer fsan dfoans How Kteam asdfna asdofn sdf How Kteam dfaojf kteam How Kteam dfaodf How Kteam adfoasdf ncxvo How Kteam dfad

  1. Sắp xếp một mảng số nguyên có dạng như sau:


[56, 14, 11, 756, 34, 90, 11, 11, 65, 0, 11, 35]

Lưu ý: là các số 11 là những số cố định không được thay đổi vị trí của nó.

Sau khi sắp xếp lại mảng trên sẽ là:


[0, 14, 11, 34, 35, 56, 11, 11, 65, 90, 11, 756]

Đáp án của phần này sẽ được trình bày ở bài tiếp theo. Tuy nhiên, Kteam khuyến khích bạn tự trả lời các câu hỏi để củng cố kiến thức cũng như thực hành một cách tốt nhất!

while Loop with else in Python
while Loop with else in Python

Introduction to Python while else statement

In Python, the

while

statement may have an optional

else

clause:


while condition: # code block to run else: # else clause code block

Code language: PHP (php)

In this syntax, the

condition

is checked at the beginning of each iteration. The code block inside the

while

statement will execute as long as the

condition

is

True

.

When the

condition

becomes

False

and the loop runs normally, the

else

clause will execute. However, if the loop is terminated prematurely by either a

break

or

return

statement, the

else

clause won’t execute at all.

The follwing flowchart illustrates the

while...else

clause:

If you’re familiar with other programming languages such as JavaScript, Java, or C#, you’ll find that the

else

clause is quite strange in the context of a loop.

However, the

while else

clause turns out to be very useful in some cases. Let’s take a look at an example of using the

while else

statement.

More on Python while Loop


whileloop with


breakstatement

We can use a break statement inside a

while

loop to terminate the loop immediately without checking the test condition. For example,


while True: user_input = input('Enter your name: ') # terminate the loop when user enters end if user_input == 'end': print(f'The loop is ended') break print(f'Hi {user_input}')

Output

Enter your name: Kevin Hi Kevin Enter your name: end The loop is ended

Here, the condition of the while loop is always

True

. However, if the user enters

end

, the loop termiantes because of the

break

statement.


whileloop with an


elseclause


whileloop can have an optional


elseclause - that is executed once the loop condition is


False. For example,


counter = 0 while counter < 2: print('This is inside loop') counter = counter + 1

else: print(‘This is inside else block’)

Output

This is inside loop This is inside loop This is inside else block

Here, on the third iteration, the

counter

becomes 2 which terminates the loop. It then executes the

else

block and prints

This is inside else block

.

Note: The

else

block will not execute if the

while

loop is terminated by a

break

statement.

The

for

loop is usually used in the sequence when the number of iterations is known. For example,


# loop is iterated 4 times for i in range(4): print(i)

Output

0 1 2 3

The

while

loop is usually used when the number of iterations is unknown. For example,


while True: user_input = input("Enter password: ") # terminate the loop when user enters exit if user_input == 'exit': print(f'Status: Entry Rejected') break print(f'Status: Entry Allowed')

Output

Enter password: Python is Fun Status: Entry Allowed Enter password: exit Status: Entry Rejected

Also Read:

Python While Loops

While loops in Python are easy ♾️
While loops in Python are easy ♾️

Câu lệnh pass

Về cơ bản, pass có thể được hiểu như là “không có gì”. Nó dường như chỉ được để cho có.

while expression:

pass

Khi thực hiện các lệnh trong vòng lặp (và cả hàm) , nó sẽ xem lệnh pass này như là “vô hình”. Nhưng nó sẽ giúp tránh lỗi nếu như vòng lặp (hàm) của bạn không có bất kì một lệnh nào.

Ví dụ:


>>> a = 3 >>> b = 4 >>> while a > 0: ... a -= 1 ... pass ... b += 1 ... >>> b 7 >>> >>> while a > 0: ... File "

", line 2 ^ IndentationError: expected an indented block after 'while' statement on line 1 >>> while a > 0: ... pass ... >>>

Đặt vấn đề

Lại là câu chuyện về Tèo – Kter “bờ rào” của Kteam. Sắp tới là sinh nhật Tèo, Tèo tham vọng mời tất cả thành viên trong group lập trình của Kteam. Thế nên, Tèo mua một xấp giấy về ghi thiệp mời các bạn tham dự buổi tiệc.

Một bạn, hai bạn, rồi ba bạn và tới bạn thứ năm thì Tèo đã thấm mệt. Dòng chữ cũng không được nắn nót như ban đầu. Nhớ lại là còn hơn 9999 người cần phải mời nữa. Nên Tèo mệt quá, không muốn mời ai nữa và ăn sinh nhật một mình luôn.

Nếu bạn là Tèo, bạn sẽ viết được bao nhiêu tấm thiệp với dòng chữ nắn nót và đẹp như tấm thiệp ban đầu? Liệu bạn có đủ kiên nhẫn viết hết 1000 tấm thiệp thậm chí là 100000?

Hiển nhiên là “Không!”. Mà trường hợp của Tèo cũng chả phải hiếm. Vì vậy, con người đã tạo ra máy tính để giúp họ làm những việc tương tự. Máy tính có khả năng lặp đi lặp lại một tiến trình với số lần rất lớn. Hiệu suất của lần cuối cùng cũng như lần đầu tiên. Thêm một điều nữa là công việc đó được làm với một tốc độ chóng mặt

Làm sao chúng làm được như vậy? Đó là nhờ tuyệt kĩ vòng lặp. Và chúng ta sẽ bắt đầu đi tìm hiểu chiêu thức vòng lặp đầu tiên trong Python chính là While.

Python Programming Tutorial: While Else
Python Programming Tutorial: While Else

Thảo luận

Nếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng.

Nội dung bài viết

Khóa học

Lập trình Python cơ bản

Đánh giá

Bình luận

Câu 2:

with open(‘draft.txt’,’r’) as biendem:

bien = 1

filemoi=”

while bien <5:

biendem1 = biendem.readline().split()

change=biendem1.index(‘Kteam’)

biendem1[change-1] = ‘HOW’

print(biendem1)

filemoi += ‘ ‘.join(biendem1) + ‘\n’

bien +=1

with open(‘Bteam.txt’,’w’) as output:

output.write(filemoi)

câu 1 :

a = []

k = 1

while k <= 10:

k +=1

if k % 2 == 0:

a.append(k)

continue

if len(a) == 5:

break

print(a)

mình làm bài tập 24 y chang nhưng sử dụng sublime text ko chạy nhưng sử dụng visual code thì chạy. có cách nào chạy trên sublime text ko. cám ơn

Câu 3:

mang = [56, 14, 11, 756, 34, 90, 11, 11, 65, 0, 11, 35]k=0mang1=[]mang2=[]while k < len(mang):if mang[k] !=11:mang1.append(mang[k])else:mang2.append(k)k+=1mang1.sort()i=0while i < len(mang2):mang1.insert(mang2[i],11)i+=1print(mang1)

#Cau 2 bai While loop

with open(‘draft01.txt’) as filebt:

lst = list(filebt)

filemoi = ”

for data in lst:

data2 = data.split()

for ind in range(len(data2)):

if data2[ind] == ‘Kteam’:

data2[ind-1] = ‘How’

dongmoi = ‘ ‘.join(data2)

filemoi = f'{dongmoi}’

print(filemoi)

with open(‘kteam.txt’, ‘w’) as complete:

print(complete.write(filemoi))

#Cau 3 bai While loop

mangnguyen = [56, 14, 11, 756, 34, 90, 11, 11, 65, 0, 11, 35]

vitri11 = []

mangmoi = []

for i in range(len(mangnguyen)):

if mangnguyen[i] != 11:

mangmoi.append(mangnguyen[i])

mangmoi.sort()

else:

vitri11.append(mangnguyen.index(11, i))

for j in vitri11:

mangmoi.insert(j, 11)

print(mangmoi)

StudySmarter – The all-in-one study app.

4.8 • +11k Ratings

More than 3 Million Downloads

Free

In the world of programming, control structures play a crucial role in determining the flow of code execution. Python, a widely used programming language, provides programmers with several control structures, one of which is the Python while else loop. This article aims to introduce you to the while else loop in Python, enabling you to understand its syntax, usage, and its difference from other loop constructs. As we delve deeper into the topic, we will explore how Python’s while else statement works and discuss scenarios where it can be practically implemented, such as user input validation and creating authentication systems. Furthermore, we will compare the while else loop with another popular construct: while else break in Python. Understanding these concepts will not only build your repertoire of programming techniques but will also equip you to solve real-world problems effectively, helping you become a proficient Python programmer.

Lerne mit deinen Freunden und bleibe auf dem richtigen Kurs mit deinen persönlichen Lernstatistiken

Jetzt kostenlos anmelden

Nie wieder prokastinieren mit unseren Lernerinnerungen.

Jetzt kostenlos anmelden

In the world of programming, control structures play a crucial role in determining the flow of code execution. Python, a widely used programming language, provides programmers with several control structures, one of which is the Python while else loop. This article aims to introduce you to the while else loop in Python, enabling you to understand its syntax, usage, and its difference from other loop constructs. As we delve deeper into the topic, we will explore how Python’s while else statement works and discuss scenarios where it can be practically implemented, such as user input validation and creating authentication systems. Furthermore, we will compare the while else loop with another popular construct: while else break in Python. Understanding these concepts will not only build your repertoire of programming techniques but will also equip you to solve real-world problems effectively, helping you become a proficient Python programmer.

Python provides valuable tools for managing the flow of your program through loops, such as while and for loops. The while loop keeps iterating as long as a given condition is True. Another useful structure within loops is the else block, which is executed once the condition is no longer true. In this article, you will learn all about the Python while else loop, its syntax, and how it works.

In Python, the while else statement is a combination of a while loop with an else block. The while loop executes a block of code as long as its given condition remains true. Once the condition becomes false, the loop stops, and the else block is executed. This structure provides a robust way to control the flow and termination of a loop, allowing for better readability and organization in your code.

The Python while else loop is an extension of the while loop with an else block that executes when the while’s condition is no longer true.

Let us now explore the syntax of the Python while else loop:

while condition: # Code to be executed when the condition is True else: # Code to be executed when the condition becomes False

Here is a breakdown of this syntax:

Let us consider a simple example demonstrating the Python while else loop in action:

count = 1 while count <= 5: print(“Count: “, count) count += 1 else: print(“The loop has ended.”)

In this example, the while loop will execute as long as the ‘count’ variable is less than or equal to 5. After each iteration, the value of ‘count’ is incremented by 1. When the count exceeds 5, the loop terminates, and the else block is executed, printing “The loop has ended.” The output of this code will be:

Count: 1 Count: 2 Count: 3 Count: 4 Count: 5 The loop has ended.

Example: Imagine you want to create a program that prints the Fibonacci sequence up to a specific number. You could use a while else loop to do this:

a, b = 0, 1 max_fib = 100 while a <= max_fib: print(a, end=’ ‘) a, b = b, a + b else: print(“\nThe Fibonacci sequence has ended.”)

This example prints the Fibonacci sequence up to 100 and then displays “The Fibonacci sequence has ended” after completing the loop.

A deep dive into the use of break and continue statements with Python while else loops: The break statement is used to terminate the loop prematurely and exit the loop without executing the else block. On the other hand, the continue statement skips the remaining code within the loop block for the current iteration and jumps back to the start of the loop to check the condition again. You can use these statements within a while else loop to control the flow more efficiently.

In this section, we will discuss some practical examples where the Python while else loop can be beneficial in solving real-world problems. By understanding these use cases, you will gain a deeper understanding of the versatility and applicability of the Python while else loop.

One common use case for the Python while else loop is validating user input. This approach ensures that users enter correct and acceptable data, thus improving the overall performance and reliability of the application. For instance, you can use a while else loop to validate user input for:

In the following example, we will demonstrate user input validation using a Python while else loop:

tries = 3 while tries > 0: password = input(“Enter your password: “) if password == ‘correct_password’: print(“Password Accepted.”) break else: tries -= 1 print(“Incorrect password. Tries remaining: “, tries) else: print(“Too many incorrect password attempts. Access denied.”)

In this example, the user is prompted to enter a password. The application provides three tries to enter the correct password. If the user enters the correct password within the three attempts, the loop breaks, and the system displays “Password Accepted.” If the user exhausts all three attempts, the loop stops, and the else block is executed, printing “Too many incorrect password attempts. Access denied.”

Integrating an authentication system into a Python application is important to secure user data and control access to sensitive information. In this example, we demonstrate how to create a simple authentication system using the Python while else loop:

username_db = ‘john_doe’ password_db = ‘secure123’ while True: username = input(“Enter your username: “) password = input(“Enter your password: “) if username == username_db and password == password_db: print(“Authenticated! Welcome, ” + username + “!”) break else: retry = input(“Invalid credentials. Would you like to try again? (y/n): “) if retry.lower() != ‘y’: break else: print(“Leaving the authentication system.”)

In this example, the authentication system continuously prompts the user to enter their username and password until they provide valid credentials. The usernames and passwords are hardcoded for demonstration purposes but would ideally be stored securely in a database. If the entered credentials are correct, the loop terminates with a “break” statement, and the system prints “Authenticated! Welcome, ” and the username. If the user decides not to retry after entering incorrect credentials, the loop will also terminate, skipping the else block. The program will only display “Leaving the authentication system.” if the user decides to terminate the loop after an incorrect input.

Understanding the key differences between the Python while else loop and using break statements is crucial for better control of your code’s flow. The use of while loops, else blocks, and break statements primarily affects how loops terminate or continue. This section will provide a comprehensive comparison between these elements to clarify their usage and interactions.

In Python, the while loop, else block, and break statement serve distinct purposes, yet they are interconnected in enhancing a program’s control structure. The following comparison will address their distinct functionalities:

Now, let us compare their functionality and behaviour in different situations:

Situation While Loop Else Block Break Statement
Normal loop termination Stops when the condition is false. Gets executed. Not involved.
Forced loop termination Stops when the break statement is encountered. Does not get executed. Causes the control to leave the loop.
Skipping loop iterations Continues execution if no break statement is reached. Not involved. Not involved. (Use a ‘continue’ statement instead.)

While else break Python structures play significant roles in real-world programming. By understanding their differences and interactions, programmers can effectively manage their code’s flow and logic. The following examples showcase practical applications of while else break in Python:

These examples showcase how the while else break Python structures collectively enhance program flow and termination control. With a solid understanding of their differences and interactions, programmers can effectively implement them in real-world scenarios for more robust and efficient code.

while condition: # Code to be executed when the condition is True else: # Code to be executed when the condition becomes False

YOUR SCORE

Your score:

Already have an account? Log in

SIGNUP SIGNUP

What does a Python While Else Loop do?

Executes a block of code as long as a condition is true and runs an alternative block of code when the condition becomes false.

What is the main purpose of the ‘else’ statement in a Python While Else Loop?

To provide a block of code to execute when the loop’s condition becomes false.

How does the ‘break’ statement affect a Python While Else Loop?

It allows you to terminate the loop earlier based on specific conditions, skipping the execution of the ‘else’ block.

What happens if a ‘break’ statement is used in a ‘while True’ loop with an ‘else’ block?

The ‘else’ block will not be executed as ‘break’ jumps out of the loop directly.

In a Python While Else Loop, when does the ‘else’ block execute?

The ‘else’ block executes when the loop’s condition becomes false and no ‘break’ statement was encountered.

What is the purpose of Python’s while-else loop statement?

The purpose of Python’s while-else loop statement is to repeatedly execute a block of code while a given condition is true, and once the condition is false, the code inside the else block is executed.

Already have an account? Log in

Open in App

The first learning app that truly has everything you need to ace your exams in one place

Sign up to highlight and take notes. It’s 100% free.

Save explanations to your personalised space and access them anytime, anywhere!

Sign up with Email Sign up with Apple

By signing up, you agree to the Terms and Conditions and the Privacy Policy of StudySmarter.

Already have an account? Log in

In Python, we use the

while

loop to repeat a block of code until a certain condition is met. For example,


number = 1 while number <= 3: print(number) number = number + 1

Output

1 2 3

In the above example, we have used a

while

loop to print the numbers from 1 to 3. The loop runs as long as the condition

number <= 3

is satisfied.

Sử dụng vòng lặp để xử lí chuỗi, list, tuple

Đây là những iterable cho phép ta truy xuất một giá trị bất kí trong nó bằng phương pháp indexing. Thế nên, ta có thể nhờ điều này kết hợp với vòng lặp để xử lí chúng.


>>> s = 'How Kteam' >>> idx = 0 # vị trí bắt đầu bạn muốn xử lí của chuỗi >>> length = len(s) # lấy độ dài chuỗi làm mốc kết thúc >>> >>> while idx < length: ... print(idx, 'stands for', s[idx]) ... idx += 1 # di chuyển index tới vị trí tiếp theo ... 0 stands for H 1 stands for o 2 stands for w 3 stands for 4 stands for K 5 stands for t 6 stands for e 7 stands for a 8 stands for m

Đơn giản phải không nào. List và Tuple hoàn toàn tương tự.

Python Tips: How to use the \
Python Tips: How to use the \”While Else\” statement

Nội dung

Để đọc hiểu bài này tốt nhất bạn cần:

  • Cài đặt sẵn MÔI TRƯỜNG PHÁT TRIỂN CỦA PYTHON.
  • Xem qua bài CÁCH CHẠY CHƯƠNG TRÌNH PYTHON.
  • Nắm CÁCH GHI CHÚ và BIẾN TRONG PYTHON.
  • CÁC KIỂU DỮ LIỆU ĐƯỢC GIỚI THIỆU TRONG PYTHON
  • CÂU ĐIỀU KIỆN IF TRONG PYTHON

Bạn và Kteam sẽ cùng tìm hiểu những nội dung sau đây

  • Đặt vấn đề
  • Cấu trúc vòng lặp while và cách hoạt động
  • Sử dụng vòng lặp để xử lí chuỗi, list, tuple
  • Câu lệnh break và continue
  • Cấu trúc vòng lặp while-else và cách hoạt động

Vòng lặp while trong Python

While Python có chức năng gì? Cách dùng vòng lặp while trong Python như thế nào? Hãy cùng Quantrimang.com tìm hiểu nhé!

Lập trình hiện đang là thuộc top những ngành nghề được săn đón và có mức lương cao hiện nay. Tất cả bởi lập trình là một phần không thể thiếu trong hành trình phát triển khoa học, công nghệ của một quốc gia. Nhờ có lập trình mà nhiều sản phẩm, ứng dụng hữu ích đã ra đời.

Loop hay vòng lặp là tính năng hữu ích và được sử dụng thường xuyên trong tất cả ngôn ngữ lập trình hiện đại ngày nay. Nếu muốn tự động hóa tác vụ lặp lại cụ thể hay ngăn bản thân viết code trùng lặp trong chương trình đang phát triển, dùng vòng lặp là lựa chọn tốt nhất.

Loop là một tập hợp các hướng dẫn chạy lặp lại cho tới khi điều kiện được đáp ứng. Trong Python, bạn có hai kiểu vòng lặp:

  • Vòng lặp for
  • Vòng lặp while

Ở bài viết này, chúng ta sẽ học cách tạo hàm while trong Python và tìm hiểu cách thức hoạt động của nó.

Python| While Loop and If-Else together
Python| While Loop and If-Else together

Cấu trúc vòng lặp while và cách hoạt động

Nào! Cùng ngó sơ cấu trúc, sau đó Kteam sẽ giải thích cho bạn cách mà nó hoạt động

while expression:

# while-block

Lưu ý: Việc chia block như thế này cũng giống như khi bạn sử dụng câu lệnh if và đã được Kteam giới thiệu ở bài trước CẤU TRÚC RẼ NHÁNH.

Nó sẽ hoạt động ra sao?

Rất đơn giản! Việc đầu tiên, Python sẽ kiểm tra giá trị boolean của expression. Nếu là False, thì bỏ qua while-block và đến với câu lệnh tiếp theo. Ngược lại, sẽ thực hiện toàn bộ câu lệnh trong while-block. Sau khi thực hiện xong, quay ngược lại kiểm tra giá trị boolean của expression một lần nữa. Nếu False thì bỏ qua while-block, còn True thì tiếp tục thực hiện while-block. Và sau khi thực hiện xong while-block lại quay về kiểm tra giá trị boolean expression như những lần trước.

Ví dụ:


>>> k = 5 >>> >>> while k > 0: ... print('k =', k) ... k -= 1 ... k = 5 k = 4 k = 3 k = 2 k = 1 >>> k # k bằng 0 nên > 0 là một boolean False, do đó vòng lặp đã kết thúc 0

Flowchart of Python while Loop

Example: Python while Loop


# Calculate the sum of numbers until user enters 0 number = int(input('Enter a number: ')) total = 0 # iterate until the user enters 0 while number != 0: total += number number = int(input('Enter a number: ')) print('The sum is', total)

Output

Enter a number: 3 Enter a number: 2 Enter a number: 1 Enter a number: -4 Enter a number: 0 The sum is 2

Here is how the above program works:

  1. It asks the user to enter a number.
  2. If the user enters a number other than 0, it adds the number to the

    total

    and asks the user to enter a number again.
  3. If the user enters 0, the loop terminates and the program displays the total.
#20 Python Tutorial for Beginners | While Loop in Python
#20 Python Tutorial for Beginners | While Loop in Python

Python while else statement example

Suppose that we have the following list of fruits where each fruit is a dictionary that consists of the

fruit

name and

qty

keys:


basket = [ {'fruit': 'apple', 'qty': 20}, {'fruit': 'banana', 'qty': 30}, {'fruit': 'orange', 'qty': 10} ]

Code language: JavaScript (javascript)

We want to make a program that allows the users to enter a fruit name. Based on the input name, we’ll search for it from the

basket

list and show its quantity if the fruit is on the list.

In case the fruit is not found, we’ll allow users to enter the quantity for that fruit and add it to the list.

The following program is the first attempt:


basket = [ {'fruit': 'apple', 'qty': 20}, {'fruit': 'banana', 'qty': 30}, {'fruit': 'orange', 'qty': 10} ] fruit = input('Enter a fruit:') index = 0 found_it = False while index < len(basket): item = basket[index] # check the fruit name if item['fruit'] == fruit: found_it = True print(f"The basket has {item['qty']} {item['fruit']}(s)") break index += 1 if not found_it: qty = int(input(f'Enter the qty for {fruit}:')) basket.append({'fruit': fruit, 'qty': qty}) print(basket)

Code language: PHP (php)

Note that there’s better way to develop this program. The program in this example is solely for the demonstration purpose.

How it works:

  • First, prompt for an user input by using the

    input()

    function.
  • Second, initialize the

    index

    to zero and

    found_it

    flag to

    False

    . The

    index

    will be used for accessing the list by index. And the

    found_it

    flag will be set to

    True

    if the fruit name will be found.
  • Third, iterate over the list and check if the fruit name matched with the input name. If yes, set the

    found_it

    flag to

    True

    , show the fruit’s quantity, and exit the loop by using the

    break

    statement.
  • Finally, check the

    found_it

    flag after the loop and add the new fruit to the list if the

    found_it

    is

    False

    .

The following runs the program when apple is the input:


Enter a fruit:apple The basket has 20 apple(s)

Code language: CSS (css)

And the following runs the program when lemon is the input:


Enter a fruit:lemon Enter the qty for lemon:15 [{'fruit': 'apple', 'qty': 20}, {'fruit': 'banana', 'qty': 30}, {'fruit': 'orange', 'qty': 10}, {'fruit': 'lemon', 'qty': 15}]

Code language: CSS (css)

The program works as expected.

However, it’ll be more concise if you use the

while else

statement instead.

The following shows the new version of the program that uses the

while else

statement:


basket = [ {'fruit': 'apple', 'qty': 20}, {'fruit': 'banana', 'qty': 30}, {'fruit': 'orange', 'qty': 10} ] fruit = input('Enter a fruit:') index = 0 while index < len(basket): item = basket[index] # check the fruit name if item['fruit'] == fruit: print(f"The basket has {item['qty']} {item['fruit']}(s)") found_it = True break index += 1 else: qty = int(input(f'Enter the qty for {fruit}:')) basket.append({'fruit': fruit, 'qty': qty}) print(basket)

Code language: PHP (php)

In this program, the

else

clause replaces the need of having the

found_it

flag and the

if

statement after the loop.

If the fruit is not found, the

while

loop is terminated normally and the

else

clause will be executed to add a new fruit to the list.

However, if the fruit is found, the

while

loop will be encountered the

break

statement and terminated prematurely. In this case, the

else

clause won’t be executed.

Infinite while Loop

If the condition of a

while

loop is always

True

, the loop runs for infinite times, forming an infinite while loop. For example,


age = 32 # the test condition is always True while age > 18: print('You can vote')

Output

You can vote You can vote You can vote . . .

The above program is equivalent to:


age = 32 # the test condition is always True while True: print('You can vote')

In Python, you can add the \
In Python, you can add the \”else\” block after a \”while\” loop. It will be executed after the loop

The while Loop

With the while loop we can execute a set of statements as long as a condition is true.

Example

Print i as long as i is less than 6:

while i < 6:

print(i)

i += 1

Note: remember to increment i, or else the loop will continue forever.

The while loop requires relevant variables to be ready, in this example we need to define an indexing variable, i, which we set to 1.

Lệnh break trong while

Với câu lệnh

break

, chúng ta có thể dừng vòng lặp ngay cả khi điều kiện của

while

là True:

Ví dụ: Thoát vòng lặp khi i bằng 3:


i = 1 while i < 6: print(i) if i == 3: #kiểm tra điều kiện xem i bằng 3 hay chưa break i += 1 #cập nhật biến đếm

Kết quả của ví dụ trên là i sẽ được in từ số 1 đến số 3, sau khi in xong số 3 gặp lệnh if và vòng lặp sẽ dừng lại (không in tiếp số 4, 5):


1 2 3

Closed loop stepper motors -- very impressive
Closed loop stepper motors — very impressive

Cú pháp của while trong Python


while dieu_kien: Khối lệnh của while

Trong vòng lặp while,

dieu_kien

sẽ được kiểm tra đầu tiên, nếu nó là True, thì khối lệnh của vòng lặp sẽ được thực thi. Sau một lần lặp,

dieu_kien

sẽ được kiểm tra lại và quá trình lặp này sẽ chỉ dừng cho đến khi điều kiện là False.

Trong Python mọi giá trị khác 0 đều là True, None và 0 được hiểu là False. Đặc điểm này có thể dẫn đến trường hợp là

while

có thể không chạy vì ngay lần lặp đầu tiên

dieu_kien

đã False. Khi đó, khối lệnh của

while

sẽ bị bỏ qua và phần code dưới khối lệnh

while

sẽ được thực thi.

Sơ đồ vòng lặp while trong Python

Giống như if hay vòng lặp for, khối lệnh của

while

cũng được xác định thông qua thụt lề. Khối lệnh bắt đầu với thụt lề đầu tiên và kết thúc với dòng không thụt lề đầu tiên liền sau khối.

Ví dụ: In lần lượt các số nhỏ hơn 8


#In và đếm các số từ 0 tới 8: count = 1 n = 0 while (n < 8): print ('Số thứ', count,' là:', n) n = n + 1 count = count + 1 print ("Hết rồi!")

Với đoạn code này, ta sẽ tăng dần count và in giá trị của n cho đến khi n không còn nhỏ hơn 8 nữa. Kết quả khi chạy lệnh trên ta có:


Số thứ 1 là: 0 Số thứ 2 là: 1 Số thứ 3 là: 2 Số thứ 4 là: 3 Số thứ 5 là: 4 Số thứ 6 là: 5 Số thứ 7 là: 6 Số thứ 8 là: 7 Hết rồi!

Lưu ý:

  • Hãy nhớ tăng biến điều kiện trong

    while

    (trong ví dụ trên là n), nếu không vòng lặp sẽ trở thành vòng lặp vô hạn – tiếp tục lặp mãi mãi.
  • Vòng lặp

    while

    yêu cầu biến trong điều kiện phải là giá trị xác định, trong ví dụ trên biến lập chỉ mục lặp là biến n, chúng ta phải đặt giá trị ban đầu cho nó là 1.

Ví dụ: Tính tổng các số


n = int(input("Nhập n: ")) #Nhập số n tùy ý tong = 0 #khai báo và gán giá trị cho tong i = 1 #khai báo và gán giá trị cho biến đếm i while i <= n: tong = tong + i i = i+1 # cập nhật biến đếm print("Tổng là", tong)

Với khối lệnh trên ta có, nhập một số tự nhiên n bất kỳ và tính tổng các số từ 1 đến n, sau đó in tổng. Biến lưu trữ tổng là tong, biến đếm là i, cho đến khi i còn nhỏ hơn hoặc bằng n thì vòng lặp vẫn tiếp tục và tong vẫn tăng.

Sau khi chạy lệnh ta có kết quả:


Nhập n: 11 Tổng là 66

Trong ví dụ trên biến đếm i cần phải được tăng giá trị, điều này là rất quan trọng, nếu không sẽ dẫn đến một vòng lặp vô hạn. Rất nhiều trường hợp lưu ý này đã bị lãng quên.

Ví dụ 3: Vòng lặp vô hạn

Lấy lại ví dụ trên, bạn chỉ cần bỏ đi dòng

i=i+1


n = int(input("Nhập n: ")) #Nhập số n tùy ý tong = 0 #khai báo và gán giá trị cho tong i = 1 #khai báo và gán giá trị cho biến đếm i while i <= n: tong = tong + i print("Tổng là", tong)

Khi này chạy lệnh ta sẽ được:


Nhập n: 1 Traceback (most recent call last): File "C:/Users/Quantrimang.com/Programs/Python/Python36-32/QTM.com", line 6, in

tong = tong + i KeyboardInterrupt 2 3 4 5

Khi bạn nhập giá trị 1 vào thì thấy không có lệnh nào được thực hiện tiếp, nhấn Enter > nhập 2 > Enter > nhập 3… đến 5 vẫn không thấy tong được in. Đây là một trường hợp của lệnh vô hạn. Để thoát khỏi vòng lặp vô hạn bạn nhấn phím Ctrl + C, khi đó sẽ xuất hiện dòng thông báo “Traceback…” như bên trên.

Example

A simple example for While-Else

In this example, we will write else block for while loop statement.

Python Program

Run Code Copy

i = 0 while i < 5: print(i) i += 1 else: print('Printing task is done.')

Output


0 1 2 3 4 Printing task is done.

While-Else with file reading

In this example, we will use else block after while block to close the file we read line by line in the while block.

Python Program

Copy

f = open("sample.txt", "r") while True: line = f.readline() if not line: break print(line.strip()) else: f.close

Output


Hi User! Welcome to Python Examples. Continue Exploring.

State of Software Engineering Layoffs (2024)
State of Software Engineering Layoffs (2024)

Kiểm tra kiến thức vòng lặp while trong Python

Tóm lại những điều cần biết về lệnh while trong Python:

  • Bắt đầu vòng lặp while bằng cách dùng từ khóa while.
  • Sau đó, bạn thêm một điều kiện là biểu thức Boolean. Một biểu thức Boolean đánh giá giá trị là true hoặc false.
  • Điều được được theo sau bởi dấu hai chấm (:).
  • Trên dòng mới, bạn thêm một cấp độ thụt lề. Nhiều trình chỉnh sửa code sẽ tự động làm việc này cho bạn. Ví dụ, khi dùng Visual Studio Code với tiện ích mở rộng Python, ngay sau khi viết dấu hai chấm và nhấn Enter, nó sẽ tự động thụt lề code về bên phải.
  • Code bạn muốn sẽ nằm ở phần nội dung của lệnh while.
  • Điều kiện while đánh giá true, code bên trong phần nội dung của while sẽ chạy. Phần code này sẽ tiếp tục chạy cho tới khi điều kiện không còn được đáp ứng và đánh giá là false.

Do while trong Python có thể gây bối rối với người mới bắt đầu sử dụng. Tuy nhiên, một khi bạn đã hiểu khái niệm vòng lặp, bạn sẽ nhận ra rằng “while” trước “loop” của Python chỉ là một câu lệnh điều kiện.

Một lệnh điều kiện tuân theo vòng lặp while. Nó quyết định điều xảy ra trong vòng lặp. Trong khi điều kiện đó vẫn là True, biểu thức trong vòng lặp vẫn liên tục được thực thi.

Nhìn chung, vòng lặp được sử dụng khi bạn cần xử lý từng nhân tố trong danh sách hoặc mảng khi lập trình. Một vòng lặp while cũng liên tục chạy cho tới khi một lệnh trong vòng lặp đó dừng lại.

Vòng lặp while trong Python có một số hạn chế khi xử lý một bộ sưu tập mảng. Thực tế, khác vòng lặp for, vòng lặp while không cung cấp tính đặc hiệu trong câu lệnh điều khiển. Tuy nhiên, vòng lặp while có những ứng dụng riêng, vì thế, nắm rõ cách dùng nó khi lập trình là hoàn toàn cần thiết.

Trên đây là những điều cần biết về do while trong Python. Hi vọng bài viết giúp bạn biết cách dùng tốt vòng lặp này.

Lệnh while trên một dòng

Nếu vòng lặp

while

chỉ có một lệnh duy nhất thì có thể viết trên cùng một dòng với

while

như ví dụ này:

Ví dụ: Vòng lặp vô hạn với while một dòng lệnh


flag = 1 while (flag): print ('Flag đã cho là True!") Print ("Hẹn gặp lại!")

Đây là một vòng lặp vô hạn, hãy nhớ tổ hợp phím Ctrl + C trước khi bạn nhấn F5 hay Run, nếu không nó sẽ chạy từ ngày này qua ngày khác đấy =)).

Functions in Python are easy 📞
Functions in Python are easy 📞

Summary

  • The

    else

    clause in the

    while else

    statement will execute when the

    condition

    of the

    while

    loop is

    False

    and the loop runs normally without encountering the

    break

    or

    return

    statement.
  • Try the Python

    while else

    statement whenever you need to have a flag in a

    while

    loop.

I’ve noticed the following code is legal in Python. My question is why? Is there a specific reason?


n = 5 while n != 0: print n n -= 1 else: print "what the..."

Many beginners accidentally stumble on this syntax when they try to put an

if

/

else

block inside of a

while

or

for

loop, and don’t indent the

else

properly. The solution is to make sure the

else

block lines up with the

if

, assuming that it was your intent to pair them. This question explains why it didn’t cause a syntax error, and what the resulting code means. See also I’m getting an IndentationError. How do I fix it?, for the cases where there is a syntax error reported.

See also Why does python use ‘else’ after for and while loops? for questions about how to make good use of the feature.

Vòng lặp While trong Python

Câu lệnh break và continue

Lưu ý: Hai câu lệnh này chỉ có thể dùng trong các vòng lặp

Câu lệnh break

Câu lệnh break dùng để kết thúc vòng lặp. Cứ nó nằm trong block của vòng lặp nào thì vòng lặp đó sẽ kết thúc khi chạy câu lệnh này.

Trong trường hợp vòng lặp a chứa vòng lặp b. Trong vòng lặp b chạy câu lệnh break thì chỉ vòng lặp b kết thúc, còn vòng lặp a thì không.

Ví dụ *:


>>> five_even_numbers = [] >>> k_number = 1 >>> >>> while True: # vòng lặp vô hạn vì giá trị này là hằng nên ta không thể tác động được ... if k_number % 2 == 0: # nếu k_number là một số chẵn ... five_even_numbers.append(k_number) # thêm giá trị của k_number vào list ... if len(five_even_numbers) == 5: # nếu list này đủ 5 phần tử ... break # thì kết thúc vòng lặp ... k_number += 1 ... >>> five_even_numbers [2, 4, 6, 8, 10] >>> k_number 10

Câu lệnh continue

Câu lệnh này dùng để chạy tiếp vòng lặp. Giả sử một vòng lặp có cấu trúc như sau:

while expression:

#while-block-1

continue

#while-block-2

Khi thực hiện xong while-block-1, câu lệnh continue sẽ tiếp tục vòng lặp, không quan tâm những câu lệnh ở dưới continue và như vậy nó đã bỏ qua while-block-2.

Ví dụ:


>>> k_number = 1 >>> while k_number < 10: ... if k_number % 2 == 0: # nếu k_number là số chẵn ... k_number += 1 # thì tăng một đơn vị cho k_number và tiếp tục vòng lặp ... continue ... print(k_number, 'is odd number') ... k_number += 1 ... 1 is odd number 3 is odd number 5 is odd number 7 is odd number 9 is odd number

If statements in Python are easy (if, elif, else) 🤔
If statements in Python are easy (if, elif, else) 🤔

Cấu trúc vòng lặp while-else và cách hoạt động

Ta sẽ xem cấu trúc trước:

while expression:

# while-block

else:

# else-block

Cấu trúc này gần tương tự như while bình thường. Thêm một điều, khi vòng vòng lặp while kết thúc thì khối lệnh else-block sẽ được thực hiện.

Ví dụ:


>>> while k < 3: ... print('value of k is', k) ... k += 1 ... else: ... print('k is not less than 3 anymore') ... value of k is 0 value of k is 1 value of k is 2 k is not less than 3 anymore

Trong trường hợp trong while-block chạy câu lệnh break thì vòng lặp while sẽ kết thúc và phần else-block cũng sẽ không được thực hiện.


>>> k = 0 >>> while k < 5: ... print('value of k is', k) ... k += 1 ... if k > 3: ... print('k is greater than 3') ... break ... else: ... print('k is not less than 5 anymore') ... value of k is 0 value of k is 1 value of k is 2 value of k is 3 k is greater than 3

Hiện tượng vòng lặp vô tận

Các bạn cần lưu ý là, đối với vòng lặp while, trong nhiều trường hợp, bạn có thể sẽ không biết trước số lần lặp, và có thể sẽ có nhiều lỗi không mong muốn. Điển hình nhất là vòng lặp vô tận:


>>> a = 5 >>> while a != 0: ... a -= 2

Đoạn code trên sẽ chạy mãi mãi mà không bao giờ dừng lại. Lí do là vì giá trị của biến a sẽ không bao giờ bằng 0.

Đối với những người mới học, cần nắm bắt rõ cách hoạt động của vòng lặp while để tránh các lỗi không đáng có.

Lệnh continue trong while

Câu lệnh

continue

trong

while

sẽ khiến cho vòng lặp bỏ qua lần lặp hiện tại và tiếp tục chạy ở lần lặp tiếp theo.

Ví dụ: In các số từ 1 đến 6 ngoại trừ số 3


i = 0 while i < 6: i += 1 if i == 3: continue print(i)

Trong 2 vòng lặp đầu tiên i bằng 1 và 2 thì vòng lặp vẫn chạy lệnh in. Tới vòng lặp tiếp theo, phù hợp với điều kiện

if

i bằng 3 thì sẽ chạy lệnh

continue

=> bỏ qua vòng lặp đó để chạy thẳng sang vòng lặp kế sau nó (in số 4, 5, 6).

Kết quả đầu ra:


1 2 4 5 6

Python Programming Series (Loops 4): Nested loops
Python Programming Series (Loops 4): Nested loops

Keywords searched by users: while else python 3

Python For Else - Scaler Topics
Python For Else – Scaler Topics
Python Programming Tutorial: While Else - Youtube
Python Programming Tutorial: While Else – Youtube
Python 101 3: For Loops, While Loops And If-Else - Youtube
Python 101 3: For Loops, While Loops And If-Else – Youtube
Python
Python “While” Loops (Indefinite Iteration) – Real Python
Introduction To Python While Loop
Introduction To Python While Loop
Python While Loop - Geeksforgeeks
Python While Loop – Geeksforgeeks
While Loops In Python
While Loops In Python
Mastering The Use Of 'For' And 'While' Loops In Python - Askpython
Mastering The Use Of ‘For’ And ‘While’ Loops In Python – Askpython
Python – Configuring “While” And “For” Loop Types, “Continue” And “Break”  Statements, And Range Function Reviewed! – The Devnet Grind!
Python – Configuring “While” And “For” Loop Types, “Continue” And “Break” Statements, And Range Function Reviewed! – The Devnet Grind!
Flowchart And Animation Of While Loop With If Else | Penjee, Learn To Code
Flowchart And Animation Of While Loop With If Else | Penjee, Learn To Code
Python While Loop Tutorial – Do While True Example Statement
Python While Loop Tutorial – Do While True Example Statement
Python While Loop | While True And While Else In Python || Toolsqa
Python While Loop | While True And While Else In Python || Toolsqa
Best Post On Looping In Python (While Loop)-Part 2 - Itvoyagers
Best Post On Looping In Python (While Loop)-Part 2 – Itvoyagers
Lecture 20 :- While-Else || For-Else || Pass || Break || Continue ||  Learningstrome Academy - Youtube
Lecture 20 :- While-Else || For-Else || Pass || Break || Continue || Learningstrome Academy – Youtube

See more here: kientrucannam.vn

Leave a Reply

Your email address will not be published. Required fields are marked *