Đến muộn, nhưng đối với bất kỳ ai được giao nhiệm vụ tạo của riêng họ hoặc muốn xem điều này sẽ hoạt động như thế nào, đây là chức năng với phần thưởng bổ sung là sắp xếp lại các giá trị bắt đầu dựa trên gia số mong muốn:
def RANGE(start, stop=None, increment=1):
if stop is None:
stop = start
start = 1
value_list = sorted([start, stop])
if increment == 0:
print('Error! Please enter nonzero increment value!')
else:
value_list = sorted([start, stop])
if increment < 0:
start = value_list[1]
stop = value_list[0]
while start >= stop:
worker = start
start += increment
yield worker
else:
start = value_list[0]
stop = value_list[1]
while start < stop:
worker = start
start += increment
yield worker
Tăng âm:
for i in RANGE(1, 10, -1):
print(i)
Hoặc, với start-stop bị đảo ngược:
for i in RANGE(10, 1, -1):
print(i)
Đầu ra:
10
9
8
7
6
5
4
3
2
1
Tăng đều:
for i in RANGE(1, 10):
print(i)
Đầu ra:
1
2
3
4
5
6
7
8
9
Tăng số 0:
for i in RANGE(1, 10, 0):
print(i)
Đầu ra:
'Error! Please enter nonzero increment value!'