Thật không may, trình chỉ mục trong vòng lặp for Python sẽ được chỉ định mỗi khi nó lặp lại cho mục mới. Do đó, việc tái chỉ định một lần của bạn:
if i == 15: i = 5sẽ không giúp nhiều trong lần lặp tiếp theo
Từ Python cho tài liệu tuyên bố:
Danh sách biểu thức được đánh giá một lần; Nó sẽ mang lại một đối tượng có thể lặp lại. Một trình lặp được tạo cho kết quả của expression_list. Bộ sau đó được thực thi một lần cho mỗi mục được cung cấp bởi trình lặp, theo thứ tự các chỉ số tăng dần. Mỗi mục lần lượt được gán cho danh sách đích bằng cách sử dụng các quy tắc tiêu chuẩn cho các bài tập, và sau đó bộ được thực thi. Khi các mục đã cạn kiệt (ngay lập tức khi chuỗi trống), bộ trong mệnh đề khác, nếu có, được thực thi và vòng lặp chấm dứt.Each item in turn is assigned to the target list using the standard rules for assignments, and then the suite is executed. When the items are exhausted (which is immediately when the sequence is empty), the suite in the else clause, if present, is executed, and the loop terminates.
Nói cách khác, đối với item #at loop 15 [0 1 2 ... 15 16 19] #i is progressively increasing independent from what happen in the loop block ^ #here is i change i to 5? you can, but only lasting for one loop! #you print i, it shows 5, and then... #at loop 16 [0 1 2 ... 15 16 19] ^ #still got reassigned at the beginning of the next loop 0 của bạn, bất kể điều gì xảy ra trong vòng lặp sẽ được chỉ định lại với giá trị tiếp theo được cung cấp trong #at loop 15 [0 1 2 ... 15 16 19] #i is progressively increasing independent from what happen in the loop block ^ #here is i change i to 5? you can, but only lasting for one loop! #you print i, it shows 5, and then... #at loop 16 [0 1 2 ... 15 16 19] ^ #still got reassigned at the beginning of the next loop 1, trong trường hợp của bạn được đặt bởi #at loop 15 [0 1 2 ... 15 16 19] #i is progressively increasing independent from what happen in the loop block ^ #here is i change i to 5? you can, but only lasting for one loop! #you print i, it shows 5, and then... #at loop 16 [0 1 2 ... 15 16 19] ^ #still got reassigned at the beginning of the next loop 2
#at loop 15 [0 1 2 ... 15 16 19] #i is progressively increasing independent from what happen in the loop block ^ #here is i change i to 5? you can, but only lasting for one loop! #you print i, it shows 5, and then... #at loop 16 [0 1 2 ... 15 16 19] ^ #still got reassigned at the beginning of the next loopMột cách là tạo một bộ chỉ mục khác - độc lập với vòng lặp for được đặt lại khi trình chỉ mục vòng for của bạn #at loop 15 [0 1 2 ... 15 16 19] #i is progressively increasing independent from what happen in the loop block ^ #here is i change i to 5? you can, but only lasting for one loop! #you print i, it shows 5, and then... #at loop 16 [0 1 2 ... 15 16 19] ^ #still got reassigned at the beginning of the next loop 0 đạt #at loop 15 [0 1 2 ... 15 16 19] #i is progressively increasing independent from what happen in the loop block ^ #here is i change i to 5? you can, but only lasting for one loop! #you print i, it shows 5, and then... #at loop 16 [0 1 2 ... 15 16 19] ^ #still got reassigned at the beginning of the next loop 6:
j = 0 for i in range(20): if i == 15: j = 5; print(j) j = j + 1Một cách khác, không được khuyến nghị quá, là chỉ định lại #at loop 15 [0 1 2 ... 15 16 19] #i is progressively increasing independent from what happen in the loop block ^ #here is i change i to 5? you can, but only lasting for one loop! #you print i, it shows 5, and then... #at loop 16 [0 1 2 ... 15 16 19] ^ #still got reassigned at the beginning of the next loop 0 mỗi lần sau #at loop 15 [0 1 2 ... 15 16 19] #i is progressively increasing independent from what happen in the loop block ^ #here is i change i to 5? you can, but only lasting for one loop! #you print i, it shows 5, and then... #at loop 16 [0 1 2 ... 15 16 19] ^ #still got reassigned at the beginning of the next loop 8 (bạn chọn chiến đấu với bộ chỉ mục cơ bản tái ký mọi lúc)
for i in range(20): if i >= 15: i = i - 10; print(i)Cải thiện bài viết
Lưu bài viết
Cải thiện bài viết
Lưu bài viết
Đọc
Bàn luận The simplest way to perform this is to use the reversed function for the for loop and the iteration will start occurring from the rear side than the conventional counting.
Python3
Việc lặp lại các số được thực hiện bằng các kỹ thuật lặp trong Python. Có nhiều kỹ thuật trong Python tạo điều kiện cho vòng lặp. Đôi khi chúng tôi yêu cầu thực hiện các vòng lặp ngược và có những kẻ viết tắt để làm như vậy có thể khá hữu ích. Hãy để thảo luận về những cách nhất định trong đó điều này có thể được thực hiện.
Phương pháp số 1: Sử dụng Reversed () Cách đơn giản nhất để thực hiện điều này là sử dụng hàm đảo ngược cho vòng lặp và lần lặp sẽ bắt đầu xảy ra từ phía sau so với việc đếm thông thường. & NBSP;
#at loop 15 [0 1 2 ... 15 16 19] #i is progressively increasing independent from what happen in the loop block ^ #here is i change i to 5? you can, but only lasting for one loop! #you print i, it shows 5, and then... #at loop 16 [0 1 2 ... 15 16 19] ^ #still got reassigned at the beginning of the next loop 9j = 0 for i in range(20): if i == 15: j = 5; print(j) j = j + 1 0 j = 0 for i in range(20): if i == 15: j = 5; print(j) j = j + 1 1
j = 0 for i in range(20): if i == 15: j = 5; print(j) j = j + 1 2 j = 0 for i in range(20): if i == 15: j = 5; print(j) j = j + 1 3j = 0 for i in range(20): if i == 15: j = 5; print(j) j = j + 1 4j = 0 for i in range(20): if i == 15: j = 5; print(j) j = j + 1 5j = 0 for i in range(20): if i == 15: j = 5; print(j) j = j + 1 0 j = 0 for i in range(20): if i == 15: j = 5; print(j) j = j + 1 7
for j = 0 for i in range(20): if i == 15: j = 5; print(j) j = j + 1 9for i in range(20): if i >= 15: i = i - 10; print(i) 0
The reversed numbers are : 6 5 4 3 2 1 0for i in range(20): if i >= 15: i = i - 10; print(i) 8j = 0 for i in range(20): if i == 15: j = 5; print(j) j = j + 1 2The reversed numbers are : 6 5 4 3 2 1 0 0j = 0 for i in range(20): if i == 15: j = 5; print(j) j = j + 1 0 The reversed numbers are : 6 5 4 3 2 1 0 2The reversed numbers are : 6 5 4 3 2 1 0 3Method #2 : Using range(N, -1, -1) This particular task can also be performed using the conventional range function which, if provided with the third argument performs the skip and second argument is used to start from backwards.
Python3
Việc lặp lại các số được thực hiện bằng các kỹ thuật lặp trong Python. Có nhiều kỹ thuật trong Python tạo điều kiện cho vòng lặp. Đôi khi chúng tôi yêu cầu thực hiện các vòng lặp ngược và có những kẻ viết tắt để làm như vậy có thể khá hữu ích. Hãy để thảo luận về những cách nhất định trong đó điều này có thể được thực hiện.
Phương pháp số 1: Sử dụng Reversed () Cách đơn giản nhất để thực hiện điều này là sử dụng hàm đảo ngược cho vòng lặp và lần lặp sẽ bắt đầu xảy ra từ phía sau so với việc đếm thông thường. & NBSP;
#at loop 15 [0 1 2 ... 15 16 19] #i is progressively increasing independent from what happen in the loop block ^ #here is i change i to 5? you can, but only lasting for one loop! #you print i, it shows 5, and then... #at loop 16 [0 1 2 ... 15 16 19] ^ #still got reassigned at the beginning of the next loop 9j = 0 for i in range(20): if i == 15: j = 5; print(j) j = j + 1 0 j = 0 for i in range(20): if i == 15: j = 5; print(j) j = j + 1 1
j = 0 for i in range(20): if i == 15: j = 5; print(j) j = j + 1 2 j = 0 for i in range(20): if i == 15: j = 5; print(j) j = j + 1 3j = 0 for i in range(20): if i == 15: j = 5; print(j) j = j + 1 4j = 0 for i in range(20): if i == 15: j = 5; print(j) j = j + 1 5j = 0 for i in range(20): if i == 15: j = 5; print(j) j = j + 1 0 j = 0 for i in range(20): if i == 15: j = 5; print(j) j = j + 1 7
for j = 0 for i in range(20): if i == 15: j = 5; print(j) j = j + 1 9for i in range(20): if i >= 15: i = i - 10; print(i) 0
The reversed numbers are : 6 5 4 3 2 1 0for i in range(20): if i >= 15: i = i - 10; print(i) 8j = 0 for i in range(20): if i == 15: j = 5; print(j) j = j + 1 2The reversed numbers are : 6 5 4 3 2 1 0 0j = 0 for i in range(20): if i == 15: j = 5; print(j) j = j + 1 0 The reversed numbers are : 6 5 4 3 2 1 0 2The reversed numbers are : 6 5 4 3 2 1 0 3This particular task can also be performed using the slice syntax which, is used for reversing the list. We used it for reversing the range class in the for loop then we perform the backward iteration.
Python3
Việc lặp lại các số được thực hiện bằng các kỹ thuật lặp trong Python. Có nhiều kỹ thuật trong Python tạo điều kiện cho vòng lặp. Đôi khi chúng tôi yêu cầu thực hiện các vòng lặp ngược và có những kẻ viết tắt để làm như vậy có thể khá hữu ích. Hãy để thảo luận về những cách nhất định trong đó điều này có thể được thực hiện.
Phương pháp số 1: Sử dụng Reversed () Cách đơn giản nhất để thực hiện điều này là sử dụng hàm đảo ngược cho vòng lặp và lần lặp sẽ bắt đầu xảy ra từ phía sau so với việc đếm thông thường. & NBSP;
j = 0 for i in range(20): if i == 15: j = 5; print(j) j = j + 1 2j = 0 for i in range(20): if i == 15: j = 5; print(j) j = j + 1 3j = 0 for i in range(20): if i == 15: j = 5; print(j) j = j + 1 4Python6j = 0 for i in range(20): if i == 15: j = 5; print(j) j = j + 1 0Python8
#at loop 15 [0 1 2 ... 15 16 19] #i is progressively increasing independent from what happen in the loop block ^ #here is i change i to 5? you can, but only lasting for one loop! #you print i, it shows 5, and then... #at loop 16 [0 1 2 ... 15 16 19] ^ #still got reassigned at the beginning of the next loop 9j = 0 for i in range(20): if i == 15: j = 5; print(j) j = j + 1 0 j = 0 for i in range(20): if i == 15: j = 5; print(j) j = j + 1 1
for i in range(20): if i >= 15: i = i - 10; print(i) 8j = 0 for i in range(20): if i == 15: j = 5; print(j) j = j + 1 2item5j = 0 for i in range(20): if i == 15: j = 5; print(j) j = j + 1 0item7The reversed numbers are : 6 5 4 3 2 1 0 3
for j = 0 for i in range(20): if i == 15: j = 5; print(j) j = j + 1 9for i in range(20): if i >= 15: i = i - 10; print(i) 0
The reversed numbers are : 6 5 4 3 2 1 0