✅ Ответы и решения
⚡ Ответы опроса
Кортежи: 3, (1, 2, 3, 4), True, элементы печатаются по одному на строку. Списки: append добавит cherry; extend(4) даст TypeError; insert(-1) вставит перед последним; pop() вернёт 40; clear() даст пустой список; pop(10) даст IndexError.
Ответы на опросы
- 1.1:
3. Последняя запятая в многоэлементном кортеже допустима. - 1.2:
(1, 2, 3, 4). Оператор + соединяет кортежи. - 1.3:
True. Значение 2 есть в кортеже. - 1.4: цикл печатает
10, 20, 30, 40 на отдельных строках. - 2.1:
["apple", "banana", "cherry"]. - 2.2: ошибка
TypeError, потому что 4 не является итерируемым объектом. - 2.3:
["a", "b", "x", "c"]. - 2.4: список
[10, 20, 30] и удалённый элемент 40. - 2.5:
[]. - 2.6: ошибка
IndexError.
Практика 1: отчёт о студентах
# practice_student_report.py
students = [
("Алексей", 80, 100),
("Мария", 50, 100),
("Дмитрий", 70, 100),
("Екатерина", 40, 100),
]
print(f"{'Имя':<15}{'Процент':>10}{'Статус':>12}")
print("-" * 37)
for name, points, max_points in students:
percent = points / max_points * 100
status = "Незачёт" if percent < 50 else "Зачёт"
print(f"{name:<15}{percent:>10.2f}{status:>12}")
Практика 2: подсчёт Banana
# practice_count_banana.py
shopping_list = ["Banana", "Apple", "Banana", "Orange", "Banana", "Apple"]
banana_count = shopping_list.count("Banana")
print(f'Товар "Banana" встречается {banana_count} раз(а).')
Практика 3: анализ продаж
# practice_sales_analysis.py
sales = [
("Bread", 20),
("Milk", 15),
("Eggs", 30),
("Butter", 10),
("Cheese", 25),
]
total = 0
top_product = sales[0]
for product, amount in sales:
total += amount
if amount > top_product[1]:
top_product = (product, amount)
print("Общее количество проданных товаров:", total)
print(f"Самый популярный товар: {top_product[0]} ({top_product[1]} шт.)")