, :
def my_range(start,end,base,step=1):
def Convert(n,base):
string = "0123456789ABCDEF"
if n < base:
return string[n]
else:
return Convert(n//base,base) + string[n%base]
return (Convert(i,base) for i in range(start,end,step))
:
print list(my_range(4,20,2))
['100', '101', '110', '111', '1000', '1001', '1010', '1011', '1100', '1101', '1110', '1111', '10000', '10001', '10010', '10011']
, string = "0123456789ABCDEF" 16, , .