Vấn đề ở đây là bạn đang cố gắng sửa đổi biến vòng lặp của vòng lặp
2
20
3
30
5
50
7
70
11
110
0. Python không ngăn bạn thực hiện 2
20
3
30
5
50
7
70
11
110
1 bên trong vòng lặp, nhưng ngay khi điều khiển quay trở lại đỉnh của vòng lặp 2
20
3
30
5
50
7
70
11
110
2 sẽ được đặt lại về bất kỳ giá trị nào tiếp theo trong chuỗi. Đó chỉ là cách 2
20
3
30
5
50
7
70
11
110
0 Loops hoạt động trong Python, nó cũng xảy ra nếu bạn lặp qua một danh sách hoặc tuple thay vì 2
20
3
30
5
50
7
70
11
110
4. Ví dụ,for i in [2, 3, 5, 7, 11]:
print[i]
i = 10 * i
print[i]
đầu ra
2
20
3
30
5
50
7
70
11
110
Để có được đầu ra bạn muốn là dễ dàng, mặc dù. Trong mã sau, tôi đã thay thế vòng lặp
2
20
3
30
5
50
7
70
11
110
5 vô hạn của bạn bằng một vòng lặp nhỏ.i = 0
for j in range[3]:
print["\ni initialized as", i]
for i in range[i, i + 3]:
print ["inside for", i]
i += 1
đầu ra
i initialized as 0
inside for 0
inside for 1
inside for 2
i initialized as 3
inside for 3
inside for 4
inside for 5
i initialized as 6
inside for 6
inside for 7
inside for 8
Để có được đầu ra bạn muốn là dễ dàng, mặc dù. Trong mã sau, tôi đã thay thế vòng lặp
2
20
3
30
5
50
7
70
11
110
5 vô hạn của bạn bằng một vòng lặp nhỏ.outer_loops = 4
inner_loops = 3
for i in range[outer_loops * inner_loops]:
if i % inner_loops == 0:
print["\nIteration", i // inner_loops]
print ["inside for", i]
đầu ra
Iteration 0
inside for 0
inside for 1
inside for 2
Iteration 1
inside for 3
inside for 4
inside for 5
Iteration 2
inside for 6
inside for 7
inside for 8
Iteration 3
inside for 9
inside for 10
inside for 11
Sử dụng một vòng lặp, lặp qua chiều dài của my_list. Chỉ số biến vòng lặp bắt đầu từ 0 trong trường hợp này ..
Trong mỗi lần lặp, nhận giá trị của danh sách tại chỉ mục hiện tại bằng cách sử dụng giá trị câu lệnh = my_list [index] ..
In giá trị và chỉ mục ..
Sử dụng một vòng lặp, lặp qua chiều dài của my_list. Chỉ số biến vòng lặp bắt đầu từ 0 trong trường hợp này ..
Trong mỗi lần lặp, nhận giá trị của danh sách tại chỉ mục hiện tại bằng cách sử dụng giá trị câu lệnh = my_list [index] ..
In giá trị và chỉ mục ..
Làm thế nào để python tăng giá trị chỉ số?, in general, are used for sequential
traversal. It falls under the category of definite iteration. Definite iterations mean the number of repetitions is specified explicitly in advance. But have you ever wondered, what happens, if you try to increment the value of the iterator from inside the for loop. Let’s see with the help of the below example.
Example:
Python3
2
20
3
30
5
50
7
70
11
110
82
20
3
30
5
50
7
70
11
110
9 i = 0
for j in range[3]:
print["\ni initialized as", i]
for i in range[i, i + 3]:
print ["inside for", i]
i += 1
0i = 0
for j in range[3]:
print["\ni initialized as", i]
for i in range[i, i + 3]:
print ["inside for", i]
i += 1
1i = 0
for j in range[3]:
print["\ni initialized as", i]
for i in range[i, i + 3]:
print ["inside for", i]
i += 1
2223__2222225252222272722222929Python Range [] là một hàm tích hợp có sẵn với Python từ Python [3. X], và nó cung cấp một chuỗi các số dựa trên chỉ số bắt đầu và dừng được đưa ra. Trong trường hợp chỉ số bắt đầu không được đưa ra, chỉ mục được coi là 0 và nó sẽ tăng giá trị cho đến chỉ số dừng.
i initialized as 0
inside for 0
inside for 1
inside for 2
i initialized as 3
inside for 3
inside for 4
inside for 5
i initialized as 6
inside for 6
inside for 7
inside for 8
8i initialized as 0
inside for 0
inside for 1
inside for 2
i initialized as 3
inside for 3
inside for 4
inside for 5
i initialized as 6
inside for 6
inside for 7
inside for 8
9outer_loops = 4
inner_loops = 3
for i in range[outer_loops * inner_loops]:
if i % inner_loops == 0:
print["\nIteration", i // inner_loops]
print ["inside for", i]
0i initialized as 0
inside for 0
inside for 1
inside for 2
i initialized as 3
inside for 3
inside for 4
inside for 5
i initialized as 6
inside for 6
inside for 7
inside for 8
8i initialized as 0
inside for 0
inside for 1
inside for 2
i initialized as 3
inside for 3
inside for 4
inside for 5
i initialized as 6
inside for 6
inside for 7
inside for 8
2outer_loops = 4
inner_loops = 3
for i in range[outer_loops * inner_loops]:
if i % inner_loops == 0:
print["\nIteration", i // inner_loops]
print ["inside for", i]
32
20
3
30
5
50
7
70
11
110
9 i = 0
for j in range[3]:
print["\ni initialized as", i]
for i in range[i, i + 3]:
print ["inside for", i]
i += 1
3Output:
1 2 3 4 5
Ví dụ trên cho thấy hành vi kỳ lạ này của vòng lặp vì vòng lặp trong python không phải là kiểu C ước tính cho vòng lặp, tức là, cho [i = 0; i
- Sử dụng trong khi vòng lặp: Chúng ta có thể trực tiếp tăng/giảm giá trị lặp bên trong phần thân của vòng lặp, chúng ta có thể sử dụng trong khi vòng lặp cho mục đích này. Ví dụ: & nbsp; We can’t directly increase/decrease the iteration value inside the body of the for loop, we can use while loop for this purpose.
Example:
Python
2
20
3
30
5
50
7
70
11
110
82
20
3
30
5
50
7
70
11
110
9 i = 0
for j in range[3]:
print["\ni initialized as", i]
for i in range[i, i + 3]:
print ["inside for", i]
i += 1
0i = 0
for j in range[3]:
print["\ni initialized as", i]
for i in range[i, i + 3]:
print ["inside for", i]
i += 1
1i = 0
for j in range[3]:
print["\ni initialized as", i]
for i in range[i, i + 3]:
print ["inside for", i]
i += 1
2223__2222225252222272722222929i initialized as 0
inside for 0
inside for 1
inside for 2
i initialized as 3
inside for 3
inside for 4
inside for 5
i initialized as 6
inside for 6
inside for 7
inside for 8
22
20
3
30
5
50
7
70
11
110
9 1 2 3 4 51
2
20
3
30
5
50
7
70
11
110
51 2 3 4 53
i initialized as 0
inside for 0
inside for 1
inside for 2
i initialized as 3
inside for 3
inside for 4
inside for 5
i initialized as 6
inside for 6
inside for 7
inside for 8
6i initialized as 0
inside for 0
inside for 1
inside for 2
i initialized as 3
inside for 3
inside for 4
inside for 5
i initialized as 6
inside for 6
inside for 7
inside for 8
7i initialized as 0
inside for 0
inside for 1
inside for 2
i initialized as 3
inside for 3
inside for 4
inside for 5
i initialized as 6
inside for 6
inside for 7
inside for 8
8i initialized as 0
inside for 0
inside for 1
inside for 2
i initialized as 3
inside for 3
inside for 4
inside for 5
i initialized as 6
inside for 6
inside for 7
inside for 8
91 2 3 4 58
2
20
3
30
5
50
7
70
11
110
9 1 3 50
1 3 51
i initialized as 0
inside for 0
inside for 1
inside for 2
i initialized as 3
inside for 3
inside for 4
inside for 5
i initialized as 6
inside for 6
inside for 7
inside for 8
8i initialized as 0
inside for 0
inside for 1
inside for 2
i initialized as 3
inside for 3
inside for 4
inside for 5
i initialized as 6
inside for 6
inside for 7
inside for 8
2outer_loops = 4
inner_loops = 3
for i in range[outer_loops * inner_loops]:
if i % inner_loops == 0:
print["\nIteration", i // inner_loops]
print ["inside for", i]
32
20
3
30
5
50
7
70
11
110
9 i = 0
for j in range[3]:
print["\ni initialized as", i]
for i in range[i, i + 3]:
print ["inside for", i]
i += 1
3- Output:
1 3 5
- Sử dụng một biến khác: Chúng ta có thể sử dụng một biến khác cho cùng một mục đích bởi vì sau mỗi lần lặp, giá trị của biến vòng lặp được khởi tạo lại.example: & nbsp; & nbsp; We can use another variable for the same purpose because after every iteration the value of
loop variable is re-initialized.
Example:
Python
2
20
3
30
5
50
7
70
11
110
82
20
3
30
5
50
7
70
11
110
9 i = 0
for j in range[3]:
print["\ni initialized as", i]
for i in range[i, i + 3]:
print ["inside for", i]
i += 1
0i = 0
for j in range[3]:
print["\ni initialized as", i]
for i in range[i, i + 3]:
print ["inside for", i]
i += 1
1i = 0
for j in range[3]:
print["\ni initialized as", i]
for i in range[i, i + 3]:
print ["inside for", i]
i += 1
2223__2222225252222272722222929i initialized as 0
inside for 0
inside for 1
inside for 2
i initialized as 3
inside for 3
inside for 4
inside for 5
i initialized as 6
inside for 6
inside for 7
inside for 8
22
20
3
30
5
50
7
70
11
110
9 1 2 3 4 51
2
20
3
30
5
50
7
70
11
110
0 1 3 54
i initialized as 0
inside for 0
inside for 1
inside for 2
i initialized as 3
inside for 3
inside for 4
inside for 5
i initialized as 6
inside for 6
inside for 7
inside for 8
3 2
20
3
30
5
50
7
70
11
110
4i initialized as 0
inside for 0
inside for 1
inside for 2
i initialized as 3
inside for 3
inside for 4
inside for 5
i initialized as 6
inside for 6
inside for 7
inside for 8
5i initialized as 0
inside for 0
inside for 1
inside for 2
i initialized as 3
inside for 3
inside for 4
inside for 5
i initialized as 6
inside for 6
inside for 7
inside for 8
6i initialized as 0
inside for 0
inside for 1
inside for 2
i initialized as 3
inside for 3
inside for 4
inside for 5
i initialized as 6
inside for 6
inside for 7
inside for 8
7i initialized as 0
inside for 0
inside for 1
inside for 2
i initialized as 3
inside for 3
inside for 4
inside for 5
i initialized as 6
inside for 6
inside for 7
inside for 8
82
20
3
30
5
50
7
70
11
110
72
20
3
30
5
50
7
70
11
110
02219 i initialized as 0
inside for 0
inside for 1
inside for 2
i initialized as 3
inside for 3
inside for 4
inside for 5
i initialized as 6
inside for 6
inside for 7
inside for 8
6i initialized as 0
inside for 0
inside for 1
inside for 2
i initialized as 3
inside for 3
inside for 4
inside for 5
i initialized as 6
inside for 6
inside for 7
inside for 8
72
20
3
30
5
50
7
70
11
110
062
20
3
30
5
50
7
70
11
110
07i initialized as 0
inside for 0
inside for 1
inside for 2
i initialized as 3
inside for 3
inside for 4
inside for 5
i initialized as 6
inside for 6
inside for 7
inside for 8
8i initialized as 0
inside for 0
inside for 1
inside for 2
i initialized as 3
inside for 3
inside for 4
inside for 5
i initialized as 6
inside for 6
inside for 7
inside for 8
91 2 3 4 58
2
20
3
30
5
50
7
70
11
110
9 1 3 50
2
20
3
30
5
50
7
70
11
110
13i initialized as 0
inside for 0
inside for 1
inside for 2
i initialized as 3
inside for 3
inside for 4
inside for 5
i initialized as 6
inside for 6
inside for 7
inside for 8
8i initialized as 0
inside for 0
inside for 1
inside for 2
i initialized as 3
inside for 3
inside for 4
inside for 5
i initialized as 6
inside for 6
inside for 7
inside for 8
2outer_loops = 4
inner_loops = 3
for i in range[outer_loops * inner_loops]:
if i % inner_loops == 0:
print["\nIteration", i // inner_loops]
print ["inside for", i]
32
20
3
30
5
50
7
70
11
110
9 i = 0
for j in range[3]:
print["\ni initialized as", i]
for i in range[i, i + 3]:
print ["inside for", i]
i += 1
3- Output:
1 3 5
- Sử dụng hàm phạm vi: Chúng ta có thể sử dụng hàm phạm vi làm tham số thứ ba của hàm này chỉ định bước. We can use the range function as the third parameter of this function specifies the step.
Note: For more information, refer to Python range[] Function.
Example:
Python3
2
20
3
30
5
50
7
70
11
110
82
20
3
30
5
50
7
70
11
110
9 i = 0
for j in range[3]:
print["\ni initialized as", i]
for i in range[i, i + 3]:
print ["inside for", i]
i += 1
0i = 0
for j in range[3]:
print["\ni initialized as", i]
for i in range[i, i + 3]:
print ["inside for", i]
i += 1
1i = 0
for j in range[3]:
print["\ni initialized as", i]
for i in range[i, i + 3]:
print ["inside for", i]
i += 1
2223__2222225252222272722222929i initialized as 0
inside for 0
inside for 1
inside for 2
i initialized as 3
inside for 3
inside for 4
inside for 5
i initialized as 6
inside for 6
inside for 7
inside for 8
22
20
3
30
5
50
7
70
11
110
9 1 2 3 4 51
i initialized as 0
inside for 0
inside for 1
inside for 2
i initialized as 3
inside for 3
inside for 4
inside for 5
i initialized as 6
inside for 6
inside for 7
inside for 8
8i initialized as 0
inside for 0
inside for 1
inside for 2
i initialized as 3
inside for 3
inside for 4
inside for 5
i initialized as 6
inside for 6
inside for 7
inside for 8
91 2 3 4 58
2
20
3
30
5
50
7
70
11
110
9 1 3 50
2
20
3
30
5
50
7
70
11
110
13- Output:
1 3 5