<MyRusakov.ru />

Финансовая грамотность от А до Я

Финансовая грамотность от А до Я

Данный курс в кратчайшие сроки обучит Вас финансовой грамотности. Эти знания позволят Вам получить, как минимум, серьёзную финансовую стабильность, а, как максимум, финансовую независимость.

В рамках курса даётся большое количество практических заданий, благодаря которым Вы не просто посмотрите курс, а действительно выполните ряд важнейших шагов, о которых в нём говорится.

Помимо самого курса Вас ждёт ещё бесплатный ценный Бонус: «Ранний выход на пенсию». В рамках этого Бонуса Вы узнаете, какой должен быть капитал конкретно в Вашем случае, варианты его получения, а также какие есть стратегии вывода капитала на пенсии и где их можно протестировать.

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

Подсчет количества определенных дней недели в диапазоне дат в Python

Подсчет количества определенных дней недели в диапазоне дат в Python

В Python скрипте ниже мы рассмотрим как подсчитать количества определенных дней недели в диапазоне дат в Python. Где это может понадобиться? Допустим, Вы получаете некий доход 2 раза в неделю каждый месяц в году. С помощью данного простого скрипта Вы сможете рассчитать доход за каждый месяц. Пример, хоть и надуманный, но позволит Вам поработать с датой и временем в Python, динамическим формированием стандартной структуры данных - словаря - dict, консольным вводом и выводом.

Файл work_automation.py


# импортируем классы для работы с датой и промежутком дат
from datetime import date, timedelta


# возвращает словарь месяц - период времени
def get_work_months(year):
    return {
        'ЯНВАРЬ':   (year - 1, 12, year, 1),
        'ФЕВРАЛЬ':  (year, 1, year, 2),
        'МАРТ':     (year, 2, year, 3),
        'АПРЕЛЬ':     (year, 3, year, 4),
        'МАЙ':       (year, 4, year, 5),
        'ИЮНЬ':      (year, 5, year, 6),
        'ИЮЛЬ':      (year, 6, year, 7),
        'АВГУСТ':    (year, 7, year, 8),
        'СЕНТЯБРЬ': (year, 8, year, 9),
        'ОКТЯБРЬ':   (year, 9, year, 10),
        'НОЯБРЬ':  (year, 10, year, 11),
        'ДЕКАБРЬ':  (year, 11, year, 12),
    }


# получаем количество интересующих нас дней недели в месяце
def get_weekdays_count(from_year, from_month, to_year, to_month):

    # дни недели по умолчанию начинаются с нуля
    TUESDAY = 1   # ищем вторник
    THURSDAY = 3  # и четверг, к примеру
    calc_day = 23 # период расчета

    # создаем объекты даты
    from_date = date(from_year, from_month, calc_day)
    to_date = date(to_year, to_month, calc_day)

    # создаем генератор для всех дней из диапазона
    daygen = [from_date + timedelta(day + 1) for day in range((to_date - from_date).days)]

    # подсчитываем количество вторников и четвергов в диапазоне
    days = sum(1 for day in daygen if day.weekday() in [TUESDAY, THURSDAY])

    return days


файл main.py


# импортируем модули нашей программы
from work_automation import get_work_months, get_weekdays_count

# точка запуска файла
if __name__ == '__main__':

    year_input = input('Введите год: ')
    work_year = get_work_months(int(year_input))

    print('\nКоличество вторников и четвергов в периоде:\n')

    for month_name in work_year:
        work_period = work_year[month_name]

        # разворачиваем кортеж (неизменяемый список) в отдельные переменные
        work_days_count = get_weekdays_count(*work_period)
        print(f'{month_name} = {work_days_count}')


Таким образом, используя встроенные в Python модули мы можем быстро создавать простые скрипты для выполнения различных рутинных операций.

Кстати, если Вам много чего не понятно из статьи (синтаксис, конструкции), но хотелось бы понять — специально для Вас я записал видеокурс Программированию на Python с Нуля до Гуру, который позволит Вам стать достаточно сильным Python-разработчиком.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.