Sự khác biệt giữa vòng lặp for và vòng lặp while trong Python với ví dụ

Vòng lặp là một trong những thực thể cơ bản nhất bên trong một ngôn ngữ lập trình nhất định. Với các câu lệnh lặp, chúng ta có thể thực thi một đoạn mã nhất định cho đến khi một điều kiện nhất định được đáp ứng. Khi điều kiện trở thành sai, chương trình sẽ dừng lặp qua câu lệnh lặp. Sau đó, nó sẽ thực thi mã sau câu lệnh lặp. Chúng ta có thể sử dụng các vòng lặp để lặp qua một chuỗi nhất định, chẳng hạn như danh sách, từ điển, bộ dữ liệu, v.v. hoặc chúng ta có thể sử dụng nó để thực thi lặp đi lặp lại một đoạn mã. Nếu bạn chưa quen với python, thì bài viết này sẽ rất hữu ích cho bạn để hiểu sự khác biệt giữa hai vòng lặp trong python – vòng lặp for vs while

nội dung

Vòng lặp For vs While trong Python

Cơ sở so sánh Đối với LoopWhile LoopDeclaration
n = int(input("Enter number N :"))
sum = 0
temp = n
while n > 0 :
  sum = sum + n
  n = n - 1
print("Sum of",temp,"numbers is:",sum)
2
n = int(input("Enter number N :"))
sum = 0
temp = n
while n > 0 :
  sum = sum + n
  n = n - 1
print("Sum of",temp,"numbers is:",sum)
3FormatCác câu lệnh khởi tạo, kiểm tra điều kiện và lặp được viết ở đầu Chỉ khởi tạo và kiểm tra điều kiện được viết ở trên cùng Trường hợp sử dụng Khi bạn đã biết số lần lặp Khi bạn không biết số lần lặp. IterationMọi phần tử được tìm nạp thông qua iterator/generator. Ví dụ, phạm vi () Mọi phần tử được tăng hoặc giảm rõ ràng bởi vòng lặp SupportFor của userGenerator có thể được lặp lại trên các trình tạo trong Python. Trong khi vòng lặp không thể được lặp lại trực tiếp trên Trình tạo. Vòng lặp DisassemblyFor với range() sử dụng 3 thao tác. range() được triển khai trong C, vì vậy, nó nhanh hơn. Vòng lặp while với biến tăng dần sử dụng 10 thao tác. i+=1 được diễn giải, do đó, nó chậm hơn phạm vi() Tốc độ (Có thể thay đổi tùy theo điều kiện) Trên cơ sở tháo gỡ, vòng lặp for nhanh hơn vòng lặp while. Trên cơ sở tháo gỡ, vòng lặp while chậm hơn vòng lặp for

Các loại vòng lặp trong Python

Trong python, chúng ta có hai câu lệnh vòng lặp khác nhau để lặp qua một đoạn mã theo hai cách khác nhau. Chúng có cùng chức năng – tôi. e. , chúng sẽ chỉ thực thi một đoạn mã nhất định nếu một điều kiện được đáp ứng. Tuy nhiên, chúng khác nhau về cú pháp và một số khía cạnh khác

  1. Vòng lặp While – Câu lệnh lặp này kiểm tra một điều kiện ngay từ đầu và cho đến khi điều kiện được đáp ứng, nó sẽ thực thi phần thân của vòng lặp
  2. Vòng lặp for – Vòng lặp for được sử dụng để lặp lại tuần tự trên một chuỗi python. Khi chuỗi đã được lặp hoàn toàn, vòng lặp for kết thúc và do đó thực thi đoạn mã tiếp theo

Vòng lặp While trong Python

Sự khác biệt giữa vòng lặp for và vòng lặp while trong Python với ví dụ

Câu lệnh vòng lặp while được sử dụng để lặp lại một khối mã cho đến khi một điều kiện được đáp ứng. Khi chúng ta không biết chính xác số lần, một câu lệnh lặp phải được thực hiện. Chúng tôi sử dụng vòng lặp while. Bằng cách này, cho đến khi biểu thức kiểm tra đúng, thân vòng lặp sẽ được thực thi

Cú pháp của vòng lặp while của python là

while condition:
  #The loop body

'Điều kiện' sẽ là tiêu chí dựa trên đó phần thân vòng lặp sẽ được thực thi. Cho đến khi điều kiện đúng thì thân vòng lặp được thực hiện. Ngay khi nó trở thành false, python sẽ ngừng thực thi phần thân vòng lặp

Hãy để chúng tôi hiểu với sự giúp đỡ của một ví dụ

n = int(input("Enter number N :"))
sum = 0
temp = n
while n > 0 :
  sum = sum + n
  n = n - 1
print("Sum of",temp,"numbers is:",sum)

Ở đây, đoạn mã trên là để in tổng của n số do người dùng nhập vào. Ở đây chúng tôi không biết số mà người dùng sẽ nhập là gì. Vì vậy, chúng ta sẽ sử dụng vòng lặp while để in tổng của 'n' số. Đầu tiên, chúng tôi lấy 'n' làm đầu vào từ người dùng. Sau đó, chúng ta có hai biến, ‘sum’, sẽ tính tổng cộng và ‘temp’ để lưu trữ giá trị của ‘n’

Bên trong vòng lặp while, điều kiện cần được đáp ứng là giá trị của 'n' phải luôn lớn hơn 0. Bên trong vòng lặp, chúng tôi thêm giá trị của 'n' vào 'sum' và sau đó giảm 'n'. Trong khi giá trị của 'n' sẽ trở thành 0, vòng lặp while sẽ ngừng thực thi và sau đó in biến 'sum'

đầu ra là

Enter number N :15
Sum of 15 numbers is: 120

Vòng lặp For trong Python

Sự khác biệt giữa vòng lặp for và vòng lặp while trong Python với ví dụ

Vòng lặp for trong python được sử dụng để lặp qua một chuỗi đã cho. Trình tự có thể là một chuỗi, một danh sách, một bộ, một bộ , một từ điển, v.v. Chừng nào chưa đạt đến độ dài của dãy thì nó sẽ lặp qua dãy đó. Vòng lặp for chứa phần khởi tạo, biểu thức kiểm tra và biểu thức tăng/giảm trong ngôn ngữ C. Trong khi với trường hợp của python, chúng ta chỉ cần đề cập đến giá trị và trình tự được lặp lại.

Cú pháp của vòng lặp for trong python là

for value in sequence:
  #The loop body

Ở đây, giá trị có thể là một mục có thể lặp lại hoặc một chuỗi. Nếu là chỉ số, chúng ta sử dụng hàm range() thay vì dãy. Mặt khác, chúng ta có thể đề cập đến trình tự

Ví dụ về vòng lặp for

color = ['black', 'white', 'gray']
for item in color:
  print(item)

Ở đây, chúng tôi đã lấy một ví dụ đơn giản để chỉ ra cách sử dụng vòng lặp for. Chúng tôi có một danh sách có tên là 'màu', chứa ba màu. Sau đó, chúng tôi sử dụng vòng lặp for trong đó chúng tôi chuyển 'mục', đại diện cho từng mục riêng lẻ trong chuỗi và 'màu' làm chuỗi danh sách, . Bên trong vòng lặp for, chúng tôi sẽ in từng 'mục'.

Đầu ra sẽ là từng phần tử danh sách được in cùng một lúc

black
white
gray

Nếu chúng ta muốn lặp lại bằng cách sử dụng lập chỉ mục, chúng ta có thể đạt được điều đó bằng cách sử dụng hàm

________số 8_______

Ở đây, chúng tôi chuyển độ dài 'màu' của chuỗi làm đối số cho hàm phạm vi (). Sử dụng 'chỉ mục', chúng tôi in từng phần tử chuỗi riêng lẻ

đầu ra là

black
white
gray

xu hướng

[Đã sửa] Mô-đun Seaborn không có Lỗi Histplot thuộc tính

Vòng lặp for vs vòng lặp while

Vòng lặp for và vòng lặp while là hai cách tiếp cận khác nhau để thực hiện các câu lệnh vòng lặp trong python. Cả hai đều phục vụ cùng một chức năng lặp qua mã python cho đến khi một điều kiện được đáp ứng. Vòng lặp For và vòng lặp While khác nhau về cú pháp. Trong vòng lặp while, chúng ta chỉ cần đề cập đến điều kiện trước khi bắt đầu vòng lặp. Trong trường hợp vòng lặp for, chúng ta phải đề cập đến khả năng lặp lại cũng như trình tự mà chúng ta lặp lại

Chúng ta sử dụng vòng lặp while khi chúng ta không biết số lần chúng ta muốn lặp qua một đoạn mã, nhưng chúng ta biết điều kiện xác định việc thực thi phần thân vòng lặp. Trong khi vòng lặp for đặc biệt được sử dụng để lặp lại một chuỗi . Khi bạn biết số lần vòng lặp phải được thực hiện, sau đó sử dụng hàm phạm vi trong vòng lặp for, chúng ta có thể đạt được điều đó.

Phổ biến bây giờ

Thonny. Gói văn bản dễ dàng

vòng lặp for vs while Python [So sánh tốc độ]

Cách tiếp cận mã byte

Chúng ta không thể phụ thuộc vào các mô-đun hẹn giờ bên trong về cách thức hoạt động của vòng lặp while và vòng lặp for trong python. Có nhiều yếu tố bên ngoài được tính đến

Tháo gỡ là phân tích chi tiết về cách thức hoạt động của từng đoạn mã trong Python. Sau khi tháo rời bằng mô-đun dis, chúng ta có thể biết rằng vòng lặp while có 10 thao tác nếu bạn tăng một biến trong đó và kiểm tra điều kiện. Trong khi đó, vòng lặp for có 3 thao tác để lặp qua hàm range()

Kết quả là, bằng cách sử dụng phân tích, bạn có thể quan sát rõ ràng rằng vòng lặp for với hàm range() rõ ràng nhanh hơn vòng lặp while với phương thức gia tăng

Tiếp cận thực tế

Chúng ta hãy lấy hai ví dụ để lặp qua một chuỗi – một sử dụng vòng lặp for và một sử dụng vòng lặp while. Chúng ta sẽ xác định tốc độ bằng cách sử dụng phương thức time() có trong mô-đun thời gian.

Chương trình tìm thời gian thực hiện bởi vòng lặp for

import time

start = time.time()

color = ['black', 'white', 'gray', 'red', 'green', 'blue', 'yellow', 'orange']
for index in range(len(color)):
  print(color[index])


end = time.time()
print(end-start)

đầu ra

black
white
gray
red
green
blue
yellow
orange
0.0034780502319335938

Chương trình cho thời gian thực hiện bởi vòng lặp while

n = int(input("Enter number N :"))
sum = 0
temp = n
while n > 0 :
  sum = sum + n
  n = n - 1
print("Sum of",temp,"numbers is:",sum)
0

đầu ra

n = int(input("Enter number N :"))
sum = 0
temp = n
while n > 0 :
  sum = sum + n
  n = n - 1
print("Sum of",temp,"numbers is:",sum)
1

Ở đây, chúng ta có thể thấy rằng thời gian thực hiện vòng lặp while trên cùng một chuỗi nhiều hơn thời gian thực hiện vòng lặp for


Điều đó kết thúc việc so sánh giữa vòng lặp for và while trong python. Nếu bạn có bất kỳ câu hỏi nào trong đầu, hãy cho chúng tôi biết trong phần bình luận bên dưới

Sự khác biệt giữa vòng lặp for và vòng lặp while trong Python là gì?

Với Python, bạn có thể sử dụng vòng lặp while để chạy cùng một tác vụ nhiều lần và vòng lặp for để lặp một lần trên dữ liệu danh sách . Trong mô-đun này, bạn sẽ tìm hiểu về hai loại vòng lặp và thời điểm áp dụng từng loại.

Hai lý do để sử dụng vòng lặp for thay vì vòng lặp while là gì?

Sử dụng vòng lặp for để lặp qua một mảng . Sử dụng vòng lặp for khi bạn biết vòng lặp sẽ thực hiện n lần. Sử dụng vòng lặp while để đọc tệp vào một biến. Sử dụng vòng lặp while khi yêu cầu đầu vào của người dùng.