+ 2

Range(-9) is it possible??

As we are printing sequence of numbers with range() fun..is it possible to print -ve series with this function with out using operator( -) externally (not in range.) ex: numbers = list(range(10)) print(numbers) numbers = list(range(-10)) print(numbers) o/p: [1,2,3,4,5,6,7,8,9] [] # why is this happening for -ve 's first list is printed but for second iam getting error.

1st Mar 2017, 5:14 AM
Satwik Dondapati
Satwik Dondapati - avatar
3 Answers
+ 3
You may need range(0, -10, -1) Actually 'range' takes three arguments. First one determine start value(inclusive), second one determine end value(exclusive) and third one dtermine increment size. Third argument can be omitted, then default value 1 is used. range also takes a single argument. In this case, start value is 0, end value is the given, and increment is 1. So range(10) is equivalent to range(0, 10, 1). Likewise, range(-10) is same as range(0, -10, 1). It is empty because start value is greater than end value despite of positive increment. If you want to get 0, -1, ..., -9, use range(0, -10, -1) instead. It starts from zero, increments -1 (decrements 1) and ends just before -10.
1st Mar 2017, 6:50 AM
Twelfty
Twelfty - avatar
0
range(start, stop[, step]) range(-9,0) Gives this output: -9 -8 -7 -6 -5 -4 -3 -2 -1 https://docs.python.org/3/library/functions.html#func-range numbers = list(range(10)) print(numbers) numbers = list(range(0, -10, -1)) print(numbers) numbers = list(range(-9, 1, 1)) print(numbers)
1st Mar 2017, 5:26 AM
ChaoticDawg
ChaoticDawg - avatar
0
If range is called with one argument, it produces an object with values from 0 to that argument. If it is called with two arguments, it produces values from the first to the second.
9th Mar 2017, 3:13 AM
Kenny Zzy
Kenny Zzy - avatar