Рассмотрим проблему запроса у пользователя списка чисел.

Допустим мы просто просим юзера ввести список чисел отделенных пробелами. Для этого вполне пойдет такой код

numbers = input("Введите список чисел: ")
print(numbers[0])  # попробую так вывести первое число

если запустить эту программу и ввести числа, например, 746 9823 12 8

то получу в ответ

я то конечно хотел 746 получить, но получил 7, а почему так?

А потому, что чтобы юзер не ввел, питон по умолчанию воспринимает это как строку, и для него вот эта 746 9823 12 8 это просто длинное слово, а numbers[0] выдает первую букву этого длинного слова, и первая буква есть 7, я мог бы написать там звездочка и получить в ответ букву з

но я то хочу именно число. Как-быть-то?

Первая идея которая приходит на ум – это попробовать обернуть результат в int, типа так

numbers = input("Введите список чисел: ")
numbers = int(numbers)
print(numbers[0])

пробуем

то есть он теперь пытается преобразовать всю строку 746 87 98 1 в одно число, ну и понятное дело, что числа с пробелами не бывает и он падает.

Значит надо действовать по-другому. Нам надо как-то превратить строку 746 87 98 1 в четыре строки 746, 87, 98, 1, то есть в список из четырех строк

И мы можем это сделать!

Специально для этого у любой строки есть специальная функция, которая позволяет разбить строку на подстроку каким-нибудь разделителем. Работает так

запускаем и смотрим на результат

то есть в number2 у нас оказался список подстрок. Давайте попробуем вывести первый элемент

numbers = input("Введите список чисел: ")
numbers2 = numbers.split(" ")
print(numbers2[0])

запускаем

то что надо! =)

Попробуем проверить число ли у нас в списке. Например, путем сложения со вторым элементом. Если все верно, то должно получиться 746 + 87 = 833

numbers = input("Введите список чисел: ")
numbers2 = numbers.split(" ")
print(numbers2[0] + numbers2[1])  # складываю

запускаем

так, блин, что-то не то. Он их склеил, а значит это все еще числа.

Ну, в принципе, это предсказуемо. Ведь если разбить большую строку на подстроки, то получим список подстрок. И как тогда превратить их в числа?

Для этого на самом деле существует много способов. Но мы рассмотрим самый примитивный.

Мы просто заведем новый список и заполним его

numbers = input("Введите список чисел: ")
numbers2 = numbers.split(" ")

numbers3 = [] # завел новый пустой список
for el in numbers2:
    numbers3.append(int(el)) # добавляю очередной элемент через append

print(f"numbers2 = {numbers2}")
print(f"numbers3 = {numbers3}")

Вот такие дела =О

Задание

Запросить у пользователя список чисел и порядковый номер числа. Вывести удвоенное значение элемента по порядковому номеру. То есть как-то так должно работать: