Базовые алгоритмы на списках / подсказка к 2 задачке

2

Создать список произвольных чисел (не менее 10). Запросить у пользователя число. И вывести отдельно список чисел, которые больше введённого пользователем числа и отдельно список который меньше введённого пользователем числа.

В питоне если у вас есть какой-то список например

numbers = [1, 2, 3, 4, 5]

то его можно обрабатывать в цикле. Например, захочу я вывести все элементы списка в виде удвоенных значений, я могу сделать это так

numbers = [1, 2, 3, 4, 5]
for el in numbers:
    print(el * 2)

могу какие-нибудь условия запихать внутрь

numbers = [1, 2, 3, 4, 5]
for el in numbers:
    if el % 2 == 0:
        print(f"Число {el} -- четное, удваиваю: {el * 2}")
    if el % 3 == 0:
        print(f"Число {el} кратно трем, утраиваю: {el * 3}")

ЕГЭ-style

В ЕГЭ встречается код где список обходится немного по-другому. С помощью функции range. Вот так, например, будет выглядеть удваивание:

numbers = [1, 2, 3, 4, 5]
n = 5  # количество элементов в массиве
for i in range(n):  # обходим с помощью range
    print(numbers[i] * 2)  # вытаскиваем элемент из массива по индексу

Создание списка на лету

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

Например, хочу я создать список четных элементов. Вот как это сделать:

numbers = [1, 2, 3, 4, 5]
n = 5

even_numbers = []  # завожу новый список

for i in range(n):  # обходим с помощью range
    if numbers[i] % 2 == 0:
        even_numbers.append(numbers[i])  # для формирования списка использую функцию append
        
print(f"Список четных чисел {even_numbers}")

запускаем