Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for Absolute Sorting by Lukeram
def checkio(numbers_array):
i = 0
k = len(numbers_array)-1
tup1 = ()
numbers_array = sorted (numbers_array)
while not i == k:
if abs(numbers_array[i])>abs(numbers_array[k]):
tup2 = (numbers_array[i],)
tup1 = tup2 + tup1
i = i + 1
else:
tup2 = (numbers_array[k],)
tup1 = tup2 + tup1
k =k - 1
tup2 = (numbers_array[k],)
tup1 = tup2 + tup1
return tup1
#These "asserts" using only for self-checking and not necessary for auto-testing
if __name__ == '__main__':
def check_it(array):
if not isinstance(array, (list, tuple)):
raise TypeError("The result should be a list or tuple.")
return list(array)
assert check_it(checkio((-20, -5, 10, 15))) == [-5, 10, 15, -20], "Example" # or (-5, 10, 15, -20)
assert check_it(checkio((1, 2, 3, 0))) == [0, 1, 2, 3], "Positive numbers"
assert check_it(checkio((-1, -2, -3, 0))) == [0, -1, -2, -3], "Negative numbers"
Nov. 9, 2016