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

Преобразуйте задачу в реализацию программы. Напишите программу, которая будет расчитывать дни недели для дня рождения пользователя. Пользователь должен ввести месяц и день своего рождения, а программа должна выводить результаты в файл для ближайших 20 лет. После того, как файл будет открыт, пользователь увидит следующий формат: Date: 12.12 12.12.2021 — Sunday 12.12.2022 — Monday 12.12.2023 — Tuesday
Зарина

Зарина

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

python
import datetime

def calculate_weekday(birthday_month, birthday_day):
weekdays = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]
current_year = datetime.datetime.now().year
output = ""

with open("result.txt", "w") as file:
for year in range(current_year, current_year + 20):
date_string = f"{birthday_day}.{birthday_month}.{year}"
birthday_date = datetime.datetime.strptime(date_string, "%d.%m.%Y")
weekday = weekdays[birthday_date.weekday()]
output += f"Date: {date_string} — {weekday}\n"

file.write(output)

birthday_month = input("Введите месяц своего рождения: ")
birthday_day = input("Введите день своего рождения: ")

calculate_weekday(birthday_month, birthday_day)


Программа использует модуль datetime для работы с датами и модуль os для работы с файлами. Сначала мы определяем функцию `calculate_weekday`, которая принимает на вход месяц и день рождения пользователся и рассчитывает день недели для указанной даты в течение следующих 20 лет. Затем мы открываем файл `"result.txt"` в режиме записи и записываем результаты в файл в указанном формате.

При запуске программы, пользователь будет попрошен ввести месяц и день своего рождения. После этого, программа выполнит расчеты и создаст файл со списком дат и соответствующих дней недели для ближайших 20 лет.

Надеюсь, эта программа поможет решить задачу. Если у вас возникнут дополнительные вопросы или требования, пожалуйста, сообщите мне.
Знаешь ответ?
Задать вопрос
Привет!
hello