📝 Практические задания

⚡ Задания в двух словах

  • Блок 1 — 3 вопроса про цикл for, range() и управление циклом.
  • Блок 2 — 8 вопросов про списки, индексацию, срезы и вложенные циклы.
  • Практическое задание 1 — вывод чётных и нечётных чисел диапазона.
  • Практическое задание 2 — фильтрация чётных чисел из списка.

🏃 Блок 1: циклы, range и управление

Вопрос 1.1. Какой результат выведет следующий код?

text = "Python"
for letter in text:
    print(letter)
  • a. Каждый символ строки на новой строке
  • b. Строка "Python" целиком
  • c. Ошибка
  • d. Последний символ строки

Ответ: a — цикл последовательно выводит символы.

Вопрос 1.2. Какой результат выведет следующий код?

for i in range(2, 6):
    print(i)
  • a. Числа 2 3 4 5 на одной строке
  • b. Числа 2 3 4 5 на разных строках
  • c. Числа 1 2 3 4 на одной строке
  • d. Ошибка

Ответ: brange(2, 6) даёт 2, 3, 4, 5; каждое на новой строке.

Вопрос 1.3. Какой результат выведет следующий код?

for letter in "Python":
    if letter == "h":
        break
    print(letter, end=" ")
else:
    print("Цикл завершён нормально.")
  • a. P y t Цикл завершён нормально.
  • b. P y t
  • c. P y t h o n
  • d. Ошибка

Ответ: bbreak прерывает цикл, поэтому блок else не выполняется.

🏋️ Блок 2: списки, срезы и вложенные циклы

Вопрос 2.1. Как создать список в Python?

  • a. С помощью круглых скобок
  • b. С помощью фигурных скобок
  • c. С помощью квадратных скобок
  • d. С помощью функции tuple()

Ответ: c — списки создаются через [].

Вопрос 2.2. Какой результат выведет следующий код?

my_list = [10, 20, 30, 40, 50]
print(my_list[1:4])
  • a. [10, 20, 30]
  • b. [20, 30, 40]
  • c. [30, 40, 50]
  • d. Ошибка

Ответ: b — элементы с индексами 1, 2, 3.

Вопрос 2.3. Какой результат выведет следующий код?

my_list = [10, 20, 30, 40, 50]
my_list[1:3] = [200, 300]
print(my_list)
  • a. [10, 200, 300, 40, 50]
  • b. [200, 300, 30, 40, 50]
  • c. [10, 20, 30, 200, 300]
  • d. Ошибка

Ответ: a — элементы с индексами 1 и 2 заменены.

Вопрос 2.4. Какой результат выведет следующий код?

my_range = range(1, 5)
print(list(my_range))
  • a. [0, 1, 2, 3, 4]
  • b. [1, 2, 3, 4]
  • c. [1, 2, 3, 4, 5]
  • d. Ошибка

Ответ: brange(1, 5) не включает 5.

Вопрос 2.5. Что произойдёт при выполнении следующего кода?

list1 = [1, 2, "apple"]
list2 = [1, 3, 10]
print(list1 < list2)
  • a. Ошибка
  • b. True
  • c. False
  • d. Ничего не выведется

Ответ: b — сравнение останавливается на 2 < 3, до строки не доходит.

Вопрос 2.6. Какой результат выведет следующий код?

my_list = [1, 2, 3]
for item in my_list:
    print(item)
  • a. 1, 2, 3 на одной строке
  • b. 1, 2, 3 на разных строках
  • c. [1, 2, 3]
  • d. Ошибка

Ответ: b — каждый элемент на новой строке.

Вопрос 2.7. Какой результат выведет следующий код?

my_list = ["apple", "banana"]
for fruit in my_list:
    print(fruit)
  • a. apple, banana на одной строке
  • b. apple, banana на разных строках
  • c. a, b на одной строке
  • d. Ошибка

Ответ: b — элементы списка выводятся по очереди.

Вопрос 2.8. Какой результат выведет следующий код?

my_strings = ["apple", "banana", "cherry"]
for word in my_strings:
    for letter in word:
        print(letter)
    print("-")
  • a. Каждая буква в отдельной строке, после каждого слова "-"
  • b. Весь список на одной строке
  • c. Ошибка
  • d. Ничего не выведется

Ответ: a — внутренний цикл печатает буквы, внешний добавляет разделитель.

🏋️ Раздел тренировки

В этом разделе вы пошагово выполните 2 практических задания из занятия.

Цель тренировки: закрепить работу с циклами, range(), условиями и списками.

📂 Подготовка проекта

  1. Создайте папку урока внутри python-fundamentals-practice/lesson-19/.
  2. Активируйте виртуальное окружение.
  3. Создайте файлы task_01_even_odd.py и task_02_filter_even.py.

Задание 1. Чётные и нечётные числа

Условие: напишите программу, которая принимает два числа (начало и конец диапазона включительно) и выводит все чётные числа в одну строку, а нечётные — в другую.

Пример работы:

Введите начало диапазона: 1
Введите конец диапазона: 10
Четные: 2 4 6 8 10
Нечетные: 1 3 5 7 9

Подсказка: используйте range(start, end + 1) и проверку number % 2 == 0. Накапливайте числа в двух списках.

Задание 2. Чётные числа списка

Условие: обработайте список чисел и выведите только чётные числа, разделённые пробелом.

numbers = [5, 7, 1, 14, 13, 12, 4, 6, 2, 7]

Пример вывода:

Список чисел: [5, 7, 1, 14, 13, 12, 4, 6, 2, 7]
Чётные числа: 14 12 4 6 2

Подсказка: пройдите по списку циклом for и добавляйте чётные числа в новый список.

Проверка понимания

Выберите один вариант ответа. После клика правильный ответ подсветится зелёным.

Вопрос 1

Как лучше использовать summary-урок?

Вопрос 2

Что показывает хороший результат после повторения блока?

Вопрос 3

Какой вопрос стоит задать себе после каждого ответа?

Вопрос 4

Какой стиль имён переменных обычно рекомендует PEP 8?

Вопрос 5

Зачем использовать f-strings в современном Python?

Вопрос 6

Когда полезен ранний возврат из функции?

Вопрос 7

Что делает аннотация типа в Python?

Вопрос 8

Как лучше обрабатывать ожидаемую ошибку преобразования?