Bài tập vòng lặp For Python

3. Viết chương trình python đọc ba số [a,b,c] và kiểm tra xem có bao nhiêu số nằm giữa 'a' và 'b' chia hết cho 'c'

4. Viết chương trình python để có đầu ra sau

1-----99

2-----98

3----97

. .

. .

. .

98-----2

99-----1

5. Viết chương trình python để đọc một số và in nhị phân của số đó [gợi ý. nếu 'a' là một chuỗi, a[. -1] sẽ đảo ngược chuỗi đó]

6. Viết chương trình python để đọc bốn số [đại diện cho bốn octet của một IP] và in năm địa chỉ IP tiếp theo

Ví dụ

Đầu vào

192 168 255 252

----------Đầu ra---------

192 168 255 253

192 168 255 254

192 168 255 255

192 169 0 0

192 169 0 1

7. Viết chương trình python để in giai thừa của một số đã cho

8. Viết chương trình python để in 10 số đầu tiên của dãy Fibonacci

9. Viết chương trình python để đọc một số và in tam giác vuông bằng dấu "*"

Ví dụ

Đầu vào. 5

----------Đầu ra---------

*

* *

* * *

* * * *

* * * * *

10. Viết chương trình python kiểm tra số đã cho có phải là số nguyên tố hay không

11. Viết chương trình python để in tất cả các số nguyên tố từ 0 đến 100 và in ra có bao nhiêu số nguyên tố

Vòng lặp for là một cấu trúc cơ bản trong Python. Nó cho phép bạn lặp qua một chuỗi các mục, chẳng hạn như danh sách hoặc phạm vi. Trong hướng dẫn này, chúng ta sẽ thảo luận chi tiết về vòng lặp for và cung cấp một số ví dụ trong quá trình thực hiện cũng như một tập hợp các bài tập ở cuối để bạn có thể thực hành sử dụng nó. Chúng tôi cũng sẽ so sánh vòng lặp for với vòng lặp while và trình bày một số kỹ thuật, bao gồm cách tạo danh sách bằng vòng lặp for, các phương pháp hay nhất để đặt tên và các kỹ thuật khác, lặp qua từ điển Python và một số kỹ thuật khác

quảng cáo

Python cho cú pháp vòng lặp. Lặp lại thông qua một danh sách

Chúng ta có thể sử dụng vòng lặp for để lặp qua bất kỳ chuỗi mục nào, nhưng ví dụ đầu tiên của chúng ta sẽ sử dụng một danh sách. Cú pháp của vòng lặp for như sau

for item in sequence:
    statement
    ...
    statement

Bất cứ thứ gì được thụt vào một cấp bên dưới vòng lặp for, như được hiển thị ở trên, sẽ được điều khiển bởi vòng lặp. [Có thể có các mức thụt đầu dòng khác, chẳng hạn như câu lệnh if trong vòng lặp for chẳng hạn]

Vòng lặp for sẽ thực thi câu lệnh hoặc các câu lệnh bên trong khối cho từng mục trong chuỗi. Biến mục sẽ đề cập đến mục hiện tại trong chuỗi cho mỗi lần lặp của vòng lặp for

Hãy xem cách nó hoạt động với một ví dụ đơn giản. Chúng tôi sẽ tạo một danh sách các số và sau đó lặp qua nó bằng vòng lặp for

Quảng cáo
numbers = [0, 1, 3, 4, 5]

for number in numbers:
    doubled = number * 2
    print[number, "times 2 =", doubled] 

đầu ra

0 times 2 = 0
1 times 2 = 2
3 times 2 = 6
4 times 2 = 8
5 times 2 = 10

Thực hành tốt nhất cho vòng lặp

Lưu ý rằng một phần lý do làm cho ví dụ trên trở nên đơn giản và dễ đọc là chúng ta đã đặt tên biến là các biến theo cách đặt tên vòng lặp tốt nhất. Danh sách [dãy] được đặt tên với tên số nhiều mô tả mỗi phần tử là gì [trong trường hợp này là “số”]. Đối với biến mà chúng tôi sử dụng để lưu trữ tên của từng mục khi chúng tôi thực hiện qua mỗi lần lặp lại, chúng tôi sử dụng dạng số ít của tên trong danh sách

quảng cáo

Vì vậy, đó là "cho số trong số" trong trường hợp này. Nếu bạn có một danh sách những người, bạn có thể sử dụng “for person in people. " Và kể từ đó trở đi

Những người mới lập trình đôi khi sẽ sử dụng chữ “i” cho biến mục này. Tuy nhiên, tôi nghĩ rằng điều này dựa trên sự nhầm lẫn với các ngôn ngữ khác. Trong các ngôn ngữ khác, vòng lặp for chứa chỉ mục trong danh sách, không phải mục từ chính danh sách đó

Python cho ví dụ về vòng lặp. Xây dựng danh sách bằng hàm phạm vi

Trong ví dụ thứ hai của chúng tôi, chúng tôi sẽ xem cách chúng tôi có thể sử dụng vòng lặp for để tạo danh sách động. Ví dụ này sẽ hiển thị một mẫu lập trình phổ biến trong đó chúng ta sử dụng vòng lặp Python for để lặp qua một chuỗi giá trị và chuyển đổi nó thành một thứ khác

Chúng tôi sẽ bắt đầu với một danh sách trống và sau đó thêm các mục vào đó bằng vòng lặp for. Ví dụ của chúng tôi sẽ sử dụng hàm phạm vi để tạo chuỗi giá trị từ 1 đến 10. Hàm phạm vi trả về một chuỗi số có thể lặp lại thường được sử dụng để lặp lại một số lần cụ thể trong vòng lặp for. Chúng tôi bắt đầu ở số đầu tiên được chuyển đến hàm phạm vi [mặc định là 0] và chúng tôi kết thúc ngay trước số thứ hai mà chúng tôi chuyển đến hàm phạm vi. Vì vậy, phạm vi [1, 6] được tính từ 1 đến 5, không phải từ 1 đến 6

Quảng cáo
numbers = []

for number in range[1,6]:
    numbers.append[number]

print[numbers]

Lưu ý chúng ta phải luôn tạo danh sách trống bên ngoài khối mã mà vòng lặp điều khiển. Sau đó, chúng tôi gọi append bên trong khối mã được điều khiển bởi vòng lặp để thêm từng phần tử

Đối với vòng lặp so với. hiểu

Nếu bạn chưa quen với Python và chỉ mới tìm hiểu về nó, đôi khi bạn có thể nghe thấy rằng việc tạo một danh sách, như chúng tôi đã trình bày ở trên, bằng cách nào đó “không tốt” bằng việc tạo một danh sách bằng cách sử dụng khả năng hiểu danh sách. Không thảo luận chi tiết về việc hiểu danh sách, có một số sự thật về điều đó. Tuy nhiên, việc biết mẫu được hiển thị ở trên vẫn rất hữu ích vì đôi khi, vòng lặp cần thực hiện nhiều việc hơn là chỉ xây dựng danh sách

Chúng tôi tập trung vào các ví dụ đơn giản trong các hướng dẫn như hướng dẫn này. Tuy nhiên, khi kỹ năng của bạn tiến bộ, bạn sẽ thấy mình viết cho các vòng lặp không chỉ cần lặp qua một chuỗi. Họ cũng có thể phải xây dựng các chuỗi động, in các giá trị hoặc lưu kết quả vào cơ sở dữ liệu ngoài việc tạo một chuỗi mới và trả về nó

quảng cáo

Nếu điều duy nhất bạn đang làm là tạo một chuỗi, thì việc hiểu danh sách sẽ ngắn gọn hơn. Tuy nhiên, là người mới bắt đầu, sử dụng vòng lặp cũng hoàn toàn hợp lệ. Ngoài ra, tránh hiểu danh sách cũng là điều bạn cần nếu mã của bạn đang làm nhiều việc hơn là chỉ tạo một chuỗi

Sử dụng vòng lặp For với từ điển Python

Nhớ lại rằng bạn có thể sử dụng vòng lặp for trên bất kỳ dãy nào. Cho đến nay, chúng ta đã thấy các danh sách và phạm vi dưới dạng trình tự, nhưng từ điển cũng có thể lặp lại theo cách này. Trong Python, vòng lặp for lặp qua các khóa của từ điển. Cú pháp cho điều này là như sau

for key in dictionary:
    statements

Vòng lặp for sẽ thực thi câu lệnh hoặc các câu lệnh bên trong khối cho mỗi khóa trong từ điển. Biến “key” sẽ tham chiếu đến key hiện tại trong từ điển cho mỗi lần lặp

Hãy xem cách nó hoạt động với một ví dụ đơn giản. Chúng tôi sẽ tạo một từ điển và sau đó lặp qua nó bằng vòng lặp for

Quảng cáo
fruits = {"a": "apple", "b": "banana", "c": "cherry", "d": "Doh! Out of fruits!"}
for fruit_key in fruits:
    print[fruit_key + " is for " + fruits[fruit_key]]

đầu ra

a is for apple
b is for banana
c is for cherry
d is for Doh! Out of fruits!

Như bạn có thể thấy, điều này in ra từng khóa và giá trị tương ứng của nó từ từ điển. Lưu ý rằng chúng tôi sử dụng khóa từ điển để tra cứu giá trị cho khóa đó [fruits[fruit_key]]]

Điều này là do, theo mặc định, việc lặp qua từ điển bằng cách sử dụng vòng lặp for của Python chỉ cung cấp cho chúng ta các khóa chứ không phải các giá trị

Nếu bạn muốn lặp qua cả khóa và giá trị của từ điển, bạn có thể sử dụng phương thức items[]. Để có được đầu ra giống như trên, hãy sử dụng

fruits = {"a": "apple", "b": "banana", "c": "cherry", "d": "Doh! Out of fruits!"}
for fruit_key, fruit_value in fruits.items[]:
    print[fruit_key + " is for " + fruit_value]

Đối với vòng lặp so với. Vòng lặp While

Các vòng lặp sử dụng “for” và “while” là hai cấu trúc điều khiển cơ bản nhất của Python. Cả hai đều cho phép bạn lặp qua một chuỗi các mục, nhưng chúng có mục đích và cách sử dụng khác nhau

quảng cáo

Nói chung, vòng lặp for của Python được sử dụng để triển khai một vòng lặp xác định, vòng lặp này sẽ thực thi một số lần đã biết trước. Ví dụ, lặp qua một danh sách, nó sẽ lặp một lần cho mỗi phần tử, hoặc “len[list]”

Mặt khác, vòng lặp while thường được sử dụng cho cái được gọi là vòng lặp không xác định. Loại vòng lặp này sẽ thực hiện cho đến khi một số điều kiện được đáp ứng

Cú pháp của vòng lặp while có thể được tóm tắt như sau

________số 8

Ví dụ: giả sử bạn muốn nhân một số với 2 và tiếp tục lặp lại cho đến khi tích của các số lớn hơn 100. Đây là cách bạn có thể làm điều đó

sum = 1
while sum < 100:
    print[sum]
    sum = sum * 2

đầu ra

numbers = [0, 1, 3, 4, 5]

for number in numbers:
    doubled = number * 2
    print[number, "times 2 =", doubled] 
0

Một mẫu khác phổ biến hơn với vòng lặp while hơn là vòng lặp for là lặp “mãi mãi” [

numbers = [0, 1, 3, 4, 5]

for number in numbers:
    doubled = number * 2
    print[number, "times 2 =", doubled] 
8] và sử dụng câu lệnh
numbers = [0, 1, 3, 4, 5]

for number in numbers:
    doubled = number * 2
    print[number, "times 2 =", doubled] 
9 sau một số kiểm tra về giá trị trả về hoặc tương tự bên trong vòng lặp. Từ khóa break thoát khỏi vòng lặp vô điều kiện

[Như một bên. Điều quan trọng là có một điều kiện sẽ thoát ra khỏi vòng lặp, tuy nhiên, nếu không, vòng lặp có thể là vô hạn. [CTRL-C sẽ dừng nó cho bạn]. Ngoài ra, loại vòng lặp này cũng được kết hợp với câu lệnh ngủ để thực hiện bỏ phiếu cho máy chủ từ xa hoặc tương tự; . ]

quảng cáo

Nói chung, vòng lặp for phù hợp hơn với những tình huống mà bạn biết nó sẽ cần chạy bao nhiêu lần, còn vòng lặp while dành cho khi bạn không biết. Điều đó nói rằng, thường có nhiều cách để viết lại vòng lặp for thành vòng lặp không xác định và vòng lặp while thành vòng lặp xác định

Sử dụng hàm Enumerate


Hàm liệt kê là một hàm tích hợp hữu ích trong Python cho phép bạn lặp qua một chuỗi các mục và cũng theo dõi chỉ mục cho từng mục. Cú pháp sử dụng hàm liệt kê trong vòng lặp for như sau

numbers = [0, 1, 3, 4, 5]

for number in numbers:
    doubled = number * 2
    print[number, "times 2 =", doubled] 
1

Trình tự có thể là một danh sách, bộ dữ liệu, chuỗi hoặc từ điển. Hàm liệt kê sẽ trả về một đối tượng chứa chỉ mục cho từng mục trong chuỗi cũng như giá trị của từng mục

Hãy xem cách nó hoạt động. Ví dụ sau hiển thị cả chỉ mục và giá trị cho danh sách 'a', 'b', 'c'

numbers = [0, 1, 3, 4, 5]

for number in numbers:
    doubled = number * 2
    print[number, "times 2 =", doubled] 
2

đầu ra

numbers = [0, 1, 3, 4, 5]

for number in numbers:
    doubled = number * 2
    print[number, "times 2 =", doubled] 
3

Bài tập thực hành vòng lặp

Để thực hành những gì bạn đã học, sau đây là một số điều bạn có thể thử

  1. Đối với bài tập đầu tiên, hãy tạo một danh sách các số từ 1 đến 20 bằng hàm phạm vi và in nó
  2. Với danh sách mà bạn đã tạo ở #1, hãy sử dụng vòng lặp for để duyệt qua danh sách và in ra mỗi số chia hết cho 3. Bạn sẽ cần sử dụng câu lệnh “if” và toán tử modulo cho việc này [Xem Toán tử Python nếu bạn cần xem lại toán tử modulo]. Quảng cáo
  3. Thử viết lại ví dụ ở #2 dưới dạng vòng lặp while. Vòng lặp nào rõ ràng hơn và dễ suy luận hơn?
  4. Bạn có biết các chuỗi là các chuỗi trong Python không? . Làm thế nào là chuỗi chia khi bạn làm điều này?
  5. Đưa ra danh sách các từ điển Python sau, hãy viết một vòng lặp for để duyệt qua danh sách, chỉ in giá trị được cung cấp bởi khóa tên. [Đối với điều này và #6, nếu bạn không quen làm việc với từ điển, bạn có thể cần tham khảo Từ điển Python cho người mới bắt đầu]
numbers = [0, 1, 3, 4, 5]

for number in numbers:
    doubled = number * 2
    print[number, "times 2 =", doubled] 
4
  1. Sử dụng hàm liệt kê, viết vòng lặp for lặp qua từng từ điển trong danh sách
    0 times 2 = 0
    1 times 2 = 2
    3 times 2 = 6
    4 times 2 = 8
    5 times 2 = 10
    0 từ ví dụ trước [#5]. Đối với mỗi mục trong danh sách, hãy thêm một khóa mới, "chỉ mục", được đặt thành giá trị chỉ mục được trả về từ hàm liệt kê
  2. Người ta có thể tưởng tượng một hình vuông 5 đơn vị x 5 đơn vị điểm trên mặt phẳng tọa độ X, Y, cách nhau một đơn vị, bắt đầu từ một. Nếu bạn in ra các giá trị, nó sẽ trông như thế này
numbers = [0, 1, 3, 4, 5]

for number in numbers:
    doubled = number * 2
    print[number, "times 2 =", doubled] 
5

Đoạn mã dưới đây được viết một phần và chỉ ra cách thực hiện điều này bằng cách sử dụng các vòng lặp lồng nhau. Nó sẽ tạo chương trình để in đầu ra này, nhưng mỗi dòng có từ MISSING trong đó phần còn lại của mã sẽ là. Thay thế từ còn thiếu bằng mã chính xác để chương trình chạy như mô tả

Quảng cáo
numbers = [0, 1, 3, 4, 5]

for number in numbers:
    doubled = number * 2
    print[number, "times 2 =", doubled] 
6
  1. Bộ Python là cấu trúc dữ liệu không chứa các mục trùng lặp
numbers = [0, 1, 3, 4, 5]

for number in numbers:
    doubled = number * 2
    print[number, "times 2 =", doubled] 
7

Viết vòng lặp for để lặp qua todo_set, in từng giá trị. “Mua sữa” đã được in bao nhiêu lần?

9. Viết chương trình lặp qua chuỗi này. “Con cáo nâu nhanh nhẹn nhảy qua con chó lười biếng”, tạo danh sách mỗi chữ cái là một nguyên âm. In danh sách các nguyên âm

10. Viết bài tập của riêng bạn và giải nó. Thưởng. Đăng bài tập của bạn và giải nó trong phần bình luận

Tôi có thể thực hành các bài tập Python ở đâu?

Tôi có thể thực hành lập trình Python ở đâu? .
yêu cầu dữ liệu. io có hàng tá câu hỏi thực hành tương tác miễn phí, cũng như các bài học tương tác miễn phí, ý tưởng dự án, hướng dẫn, v.v.
HackerRank là một trang web tuyệt vời để thực hành cũng có tính tương tác
Codingame là một nền tảng thực hành thú vị hỗ trợ Python

Ví dụ về vòng lặp for trong Python là gì?

Vòng lặp for được dùng để lặp qua một chuỗi [đó là danh sách, bộ, từ điển, tập hợp hoặc . Điều này ít giống với từ khóa for trong các ngôn ngữ lập trình khác và hoạt động giống một phương thức lặp hơn như được tìm thấy trong các ngôn ngữ lập trình hướng đối tượng khác.

3 vòng lặp trong Python là gì?

Ba loại câu lệnh điều khiển vòng lặp là. .
tuyên bố phá vỡ
tiếp tục tuyên bố
vượt qua tuyên bố

Tôi có thể thực hành Python miễn phí ở đâu?

10 khóa học Python miễn phí hàng đầu .
Lớp Python của Google. .
Khóa học Giới thiệu về Python của Microsoft. .
Giới thiệu về lập trình Python của Udemy. .
Học Python - Khóa học đầy đủ cho người mới bắt đầu của freeCodeCamp. .
Học Python 3 từ đầu bằng Educative. .
Python cho mọi người của Coursera. .
Tìm hiểu Python 2 bằng Codecademy

Chủ Đề