Ответы на вопросы для закрепления
Блок 1
- Вопрос 1 —
d: элементы разных типов данных. - Вопрос 2 —
a:[].
Блок 2
- Вопрос 1 —
c: 3. - Вопрос 2 —
b:[5, 4, 3, 2, 1, 0]. - Вопрос 3 —
b:['a', 0, 'c', 'd'].
Блок 3
- Вопрос 1 —
a:[1, 2, 3, 4, 5, 6]. - Вопрос 2 —
d:[0, 0, 0, 0]. - Вопрос 3 —
b:False.
Блок 4
- Вопрос 1 —
d:catна одной строке иdogна следующей.
Решение задания 1: Список чисел
📄 task_01_divisible_by_three.py
n = int(input("Введите число: "))
numbers = []
for i in range(n + 1):
if i % 3 == 0:
numbers.append(i)
for num in numbers:
print(num)
Логика решения: перебираем все числа от 0 до n включительно. Если число делится на 3 без остатка, добавляем его в список numbers. Затем выводим каждый элемент списка.
💡 Современный вариант:
n = int(input("Введите число: "))
numbers = [i for i in range(n + 1) if i % 3 == 0]
print(*numbers, sep="\n")
Решение задания 2: Список имён
📄 task_02_names_above_average.py
names = ["John", "Bob", "Alice", "Anna", "Mark"]
# Рассчитаем среднюю длину имён
sum_len = 0
for name in names:
sum_len += len(name)
average_length = sum_len / len(names)
# Выводим имена, длина которых больше средней
print("Список имён:", names)
print("Средняя длина имён:", average_length)
print("Имена длиннее средней длины:")
for name in names:
if len(name) > average_length:
print(name)
Логика решения: накапливаем сумму длин всех имён в переменной sum_len. Делим сумму на количество имён, чтобы получить среднее. Вторым циклом выводим имена, длина которых превышает среднее.
💡 Современный вариант:
names = ["John", "Bob", "Alice", "Anna", "Mark"]
average_length = sum(len(name) for name in names) / len(names)
long_names = [name for name in names if len(name) > average_length]
print("Список имён:", names)
print("Средняя длина имён:", average_length)
print("Имена длиннее средней длины:")
for name in long_names:
print(name)
Проверить по документации: list comprehensions, генераторные выражения и использование
sum() с генератором выходят за рамки исходного занятия. Они описаны в официальной документации Python.