✅ Решения заданий

⚡ Решения в двух словах

  • Задание 1 — range(start, end + 1), два списка, проверка чётности.
  • Задание 2 — один цикл по списку и аккумулятор чётных чисел.
  • Современный вариант — list comprehensions и f-strings.

Ответы на вопросы для закрепления

Блок 1

  • 1.1 — a: каждый символ на новой строке.
  • 1.2 — b: числа 2 3 4 5 на разных строках.
  • 1.3 — b: P y t, блок else не выполняется из-за break.

Блок 2

  • 2.1 — c: квадратные скобки.
  • 2.2 — b: [20, 30, 40].
  • 2.3 — a: [10, 200, 300, 40, 50].
  • 2.4 — b: [1, 2, 3, 4].
  • 2.5 — b: True (сравнение останавливается на 2 < 3).
  • 2.6 — b: числа на разных строках.
  • 2.7 — b: фрукты на разных строках.
  • 2.8 — a: буквы по строкам и разделитель -.

Решение задания 1: чётные и нечётные числа

📄 task_01_even_odd.py
start = int(input("Введите начало диапазона: "))
end = int(input("Введите конец диапазона: "))

even_numbers = []
odd_numbers = []

for number in range(start, end + 1):
    if number % 2 == 0:
        even_numbers.append(number)
    else:
        odd_numbers.append(number)

print("Четные:", *even_numbers)
print("Нечетные:", *odd_numbers)

Логика решения: перебираем все числа диапазона включительно. Чётные добавляем в even_numbers, нечётные — в odd_numbers. Затем выводим оба списка.

💡 Современный вариант:
start = int(input("Введите начало диапазона: "))
end = int(input("Введите конец диапазона: "))

even_numbers = [n for n in range(start, end + 1) if n % 2 == 0]
odd_numbers = [n for n in range(start, end + 1) if n % 2 != 0]

print(f"Четные: {' '.join(str(n) for n in even_numbers)}")
print(f"Нечетные: {' '.join(str(n) for n in odd_numbers)}")

Решение задания 2: чётные числа списка

📄 task_02_filter_even.py
numbers = [5, 7, 1, 14, 13, 12, 4, 6, 2, 7]
even_numbers = []

for number in numbers:
    if number % 2 == 0:
        even_numbers.append(number)

print("Список чисел:", numbers)
print("Чётные числа:", *even_numbers)

Логика решения: проходим по исходному списку и добавляем в новый список только те числа, которые делятся на 2 без остатка.

💡 Современный вариант:
numbers = [5, 7, 1, 14, 13, 12, 4, 6, 2, 7]
even_numbers = [n for n in numbers if n % 2 == 0]

print(f"Список чисел: {numbers}")
print(f"Чётные числа: {' '.join(str(n) for n in even_numbers)}")
Проверить по документации: list comprehensions, f-strings, генераторные выражения и распаковка аргументов выходят за рамки исходного занятия. Они описаны в официальной документации Python.