Hàm range cho vòng lặp Python

Range cho vòng lặp

Hàm range của Python khởi tạo các phạm vi của số nguyên,và chúng ta có thể sử dụng
các phạm vi đó để kiểm soát các vòng lặp.Hơn là lặp qua các kí tự của một chuỗi kí
tự, một range cho for loops lặp qua các số nguyên. Nếu chúng ta cung cấp một đối số
cho range,chúng ta nhận một phạm vi từ 0 tới số nhỏ hơn 1 đối số đó:

>>> for num in range(5):
… print(num)

0
1
2
3
4

Nhận thấy rằng 5 không phải là đầu ra.
Nếu chúng ta cung cấp hai đối số cho range, chúng ta nhận một chuỗi từ đối số đầu tiên tới
nhưng không bao gồm đối số cuối cùng:

>>> for num in range(3, 7):
… print(num)

3
4
5
6

Chúng ta có thể đếm theo một step size khác nhau bằng cách bao gồm đối số thứ ba. Step size
mặc định là 1, cái đếm 1 cái một. Hãy thử một đôi step size khác:

>>> for num in range(0, 10, 2):
… print(num)

0
2
4
6
8
>>> for num in range(0, 10, 3):
… print(num)

0
3
6
9

Chúng ta cũng có thể đếm ngược lại, nhưng không như cái này:

>>> for num in range(6, 2):
… print(num)

Cái đó không làm việc,vì theo range mặc định đếm lên. Một step size bằng -1 cho
phép chúng ta đếm ngược lại, một một lần:

>>> for num in range(6, 2, -1):
… print(num)

6
5
4
3

Để đếm xuống từ 6 tới 0, bao gồm 0, chúng ta cần một giá trị bằng -1 cho đối số thứ
hai:

>>> for num in range(6, -1, -1):
… print(num)

6
5
4
3
2
1
0

Đôi khi nó là hữu dụng để nhanh chóng nhìn vào các số trong một range mà không code một
loop. Không may mắn là, hàm range không thể hiện trực tiếp các số đó:

>>> range(3, 7)
range(3, 7)

Chúng ta có thể truyền kết quả đó tới hàm list để nhận cái chúng ta muốn:

>>> list(range(3, 7))
[3, 4, 5, 6]

Khi được gọi với một range, hàm list xuất ra một danh sách các số nguyên trong range. Chúng
ta sẽ học tất cả về list sau, cho bây giờ nhớ trong đầu list như một hỗ trợ để
chuẩn đoán các lỗi với ranges.
Concept check

Có bao nhiêu lần lặp được thực hiện bởi vòng lặp sau:
for i in range(10, 20):
# Some code here
A. 9
B. 10
C. 11
D. 20

Câu trả lời đúng là B. Range đi qua các số 10, 11, 12, 13, 14, 15, 16, 17, 18 và 19.
Có 10 số và do đó có 10 lần lặp.

Chia sẻ

Leave a Reply

Your email address will not be published. Required fields are marked *