Задача на поиск ближайшего числа в списке (python)

Задача (python): "Реализуйте функцию index_of_nearest(), которая принимает на вход список целых чисел и искомое число. Задача функции — найти в списке ближайшее число к искомому и вернуть его индекс.

Примечание 1. Если переданный в функцию список пуст, то функция должна вернуть значение -1.

Примечание 2. Если в списке содержится несколько чисел, одновременно являющихся ближайшими к искомому числу, то возвращается наименьший из индексов ближайших чисел.".

Sample Input :

print(index_of_nearest([7, 13, 3, 5, 18], 0))

Я вроде как придумала алгоритм, но... у меня проблемы возникли с пользовательским вводом с клавиатуры(( Подается именно в виде списка строка. Я не пойму, как над ней пошаманить, чтобы это был именно список.(я в программировании совсем новичок)


Ответы (1 шт):

Автор решения: Сергей

Самое простое - вводите все числа в список, искомое держите в нём же последним элементом. Например так (предполагаю, глядя на ваш пример, что всё вводится в одной строке, искомое - последний элемент, разделитель - пробел):

list_full = list(map(int, input().split()))

Относительно "пошаманить: в Python вообще типы просто преобразуются. Написал list - стало списком. Написал tuple - стало кортежем. И т.д.:-)

→ Ссылка