-
Notifications
You must be signed in to change notification settings - Fork 0
/
absolute_sorting.py
26 lines (23 loc) · 1.45 KB
/
absolute_sorting.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
"""
Массив (tuple) содержит различные числа. Вам необходимо отсортировать их, но
отсортировать на основе абсолютных значений в возрастающем порядке. Для
примера, последовательность (-20, -5, 10, 15) будет отсортирована следующим
образом (-5, 10, 15, -20). Ваша функция должна возвращать список (list) или
кортеж (tuple).
Входные данные: Массив чисел как кортеж (tuple).
Выходные данные: Список (list) или кортеж (tuple) (но не генератор)
отсортированный по абсолютным значениям чисел.
"""
def checkio(numbers_array):
return sorted(numbers_array, key=abs)
#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"