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áoPython 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áonumbers = [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áoVì 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áonumbers = []
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áoNế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áofruits = {"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áoNó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ố 8Ví 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]
0Mộ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áoNó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]
1Trì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]
3Bà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ử
- Đố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ó
- 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
- 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?
- 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?
- Đư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- 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 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ê0 times 2 = 0 1 times 2 = 2 3 times 2 = 6 4 times 2 = 8 5 times 2 = 10
- 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áonumbers = [0, 1, 3, 4, 5]
for number in numbers:
doubled = number * 2
print[number, "times 2 =", doubled]
6- 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]
7Viế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