Печать списка без цикла
products = ["Молоко", "Хлеб", "Сахар-песок"]
print(*products, sep="\n")
Фильтрация списка кортежей
data = [("апельсин", 5), ("вишня", 12), ("киви", 18)]
print("Отфильтрованные данные:")
for name, amount in data:
if amount > 10:
print(f"Товар : {name:<10}| Цена : {amount}")
Скидка и итоговая цена
products = [("Кофе", 127.99), ("Чай", 52.49)]
discount = 17
for name, price in products:
final_price = price * (1 - discount / 100)
print(f"{name:<15} | {price:>10.2f} | {discount:>9}% | {final_price:>15.2f}")
Вложенный список покупок
clients = [("Иван", "Иванов", 10, [("Кофе", 100.00), ("Чай", 200.00)])]
for name, surname, discount, products in clients:
total = sum(price for _, price in products)
final_price = total * (1 - discount / 100)
print(f"{name} {surname}: {final_price:.2f}")
Проверить по документации: выражение
sum(price for _, price in products) использует генераторное выражение; в учебном варианте его можно заменить обычным циклом.