Python return возвращает некорректные данные

Функция принимает нижнюю и верхнюю границы диапазона чисел. В результате работы функция должна вернуть список четных чисел в последовательности. Также код должен корректно отрабатывать, если начальное число(аргумент) больше конечного.

Написал код, но функция возвращает пустой список. В чем может быть проблeма?

def paired_numbers(start, end):
    list_of_paired = []
    if start < end:
        temp = start
        start = end
        end = temp

        for i in range(start, end):
            if i % 2 == 0:
                list_of_paired.append(i)
        return (list_of_paired)
start = int(input("Введите нижнюю границу: "))
end = int(input("Введите верхнюю границу: "))
print(paired_numbers(start, end))
print("=" * 100)

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

Автор решения: dresqd
  1. У Вас return не на том уровне... Удалите один tab, и скобки в return не нужны.
  2. Условие start < end не имеет смысла.

Как-то так в итоге должно выглядеть. Возьмите на заметку способ для "поменять местами start и end" без темповой переменной

def paired_numbers(start, end):
    if start > end:
        start, end = end, start
    output_list = []
    for each in range(start, end):
        if each % 2 == 0:
            output_list.append(each)
    return (output_list)
print(paired_numbers(99, -99))
→ Ссылка