Мини-проект собирает вместе всё, что было в модуле: массивы, арифметику с числом и с массивом, итоги и
argmax. Новых понятий здесь нет — только задача, которую нужно разложить на шаги.
Вы две недели записывали, сколько тратите каждый день, в рублях. Данные уже в массивах: week1 — первая
неделя, week2 — вторая, с понедельника по воскресенье.
import numpy as np
days = ["пн", "вт", "ср", "чт", "пт", "сб", "вс"]
week1 = np.array([1450, 980, 2300, 1200, 3100, 4200, 1800])
week2 = np.array([1320, 1150, 1980, 2450, 2900, 5100, 2100])
print(week1)
print(week2)[1450 980 2300 1200 3100 4200 1800] [1320 1150 1980 2450 2900 5100 2100]
Шаг 1. Средние траты
Посчитайте, сколько в среднем тратилось в день в первую неделю (avg1) и во вторую (avg2).
mean.Заготовка упражнения обновилась с тех пор, как вы сохранили свой код.
Вернуть заготовку? Ваш код в этом упражнении будет удалён.
avg1 = ...
avg2 = ...Упражнение пока не решено, поэтому для ячеек ниже выполнено эталонное решение — ваш код не изменён.
avg1 = week1.mean()
avg2 = week2.mean()Шаг 2. Что изменилось
Сохраните в change, на сколько рублей траты второй недели отличались от первой в тот же день недели:
положительное число — во второй неделе потратили больше.
Заготовка упражнения обновилась с тех пор, как вы сохранили свой код.
Вернуть заготовку? Ваш код в этом упражнении будет удалён.
change = ...Упражнение пока не решено, поэтому для ячеек ниже выполнено эталонное решение — ваш код не изменён.
change = week2 - week1print(change)
print("больше всего траты выросли в", days[change.argmax()])[-130 170 -320 1250 -200 900 300] больше всего траты выросли в чт
Шаг 3. В другой валюте
Переведите траты второй недели в доллары по курсу 92 рубля за доллар и сохраните в week2_usd.
Заготовка упражнения обновилась с тех пор, как вы сохранили свой код.
Вернуть заготовку? Ваш код в этом упражнении будет удалён.
week2_usd = ...Упражнение пока не решено, поэтому для ячеек ниже выполнено эталонное решение — ваш код не изменён.
week2_usd = week2 / 92Шаг 4. Самый дорогой день
Список days содержит названия дней недели по порядку. Сохраните в max_day название дня второй недели, когда
потратили больше всего, а в max_sum — сколько именно.
argmax, какой он — max.Заготовка упражнения обновилась с тех пор, как вы сохранили свой код.
Вернуть заготовку? Ваш код в этом упражнении будет удалён.
max_day = ...
max_sum = ...Упражнение пока не решено, поэтому для ячеек ниже выполнено эталонное решение — ваш код не изменён.
max_day = days[week2.argmax()]
max_sum = week2.max()Шаг 5. Бюджет
Предположим, бюджет — 2000 ₽ в день. Остаток дня — бюджет минус траты: положительный — сэкономили, отрицательный — вышли за бюджет.
Сохраните в left остаток бюджета по каждому дню второй недели, а в left_total — остаток за всю неделю.
2000 - week2 даст массив остатков.Заготовка упражнения обновилась с тех пор, как вы сохранили свой код.
Вернуть заготовку? Ваш код в этом упражнении будет удалён.
left = ...
left_total = ...Упражнение пока не решено, поэтому для ячеек ниже выполнено эталонное решение — ваш код не изменён.
left = 2000 - week2
left_total = left.sum()Шаг 6. Доли дней
Посчитайте, какой процент трат второй недели пришёлся на каждый день, и сохраните в shares: сумма всех
процентов должна получиться 100.
Заготовка упражнения обновилась с тех пор, как вы сохранили свой код.
Вернуть заготовку? Ваш код в этом упражнении будет удалён.
shares = ...Упражнение пока не решено, поэтому для ячеек ниже выполнено эталонное решение — ваш код не изменён.
shares = week2 / week2.sum() * 100Выводы
print("в среднем в день:", round(avg1), "→", round(avg2), "₽")
print("рост:", round((week2.sum() / week1.sum() - 1) * 100, 1), "%")
print("самый дорогой день:", max_day, max_sum, "₽")
print("остаток бюджета за неделю:", left_total, "₽")в среднем в день: 2147 → 2429 ₽ рост: 13.1 % самый дорогой день: сб 5100 ₽ остаток бюджета за неделю: -3000 ₽
Во вторую неделю тратили больше — примерно на 13 %, рост дали четверг (+1250 ₽) и суббота (+900 ₽), остальные дни почти не изменились; бюджет в 2000 ₽ в день вторая неделя превысила на 3000 ₽. Всё это посчитано без единого цикла: каждое действие — одна строка с массивами.