Вопрос задан 27.09.2023 в 18:44. Предмет Информатика. Спрашивает Борисовский Владислав.

Реализуй расчет дня недели для дня рождения. Python Пользователь вводит месяц и день, а получает

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

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Антонова Ольга.

import datetime

f = open('test', 'w')

x = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']

date = input()

xd = []

if len(date) > 4:

for i in range(2021, 2042):

a = datetime.date(i, int(date[:2]), int(date[3:])).weekday()

xd.append(date + '.' + str(i) + ' - ' + str(x[a]))

else:

flag = date.index('.')

for i in range(2021, 2042):

a = datetime.date(i, int(date[:flag]), int(date[flag+1:])).weekday()

xd.append(date + '.' + str(i) + ' - ' + str(x[a]))

f.write('Date: ' + str(date) + '\n')

for i in range(len(xd)):

f.write(xd[i]+'\n')

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для реализации данной задачи вам потребуется использовать модули datetime и calendar в Python. Вот пример кода, который выполняет это:

python
import datetime import calendar def calculate_weekday(birthday_month, birthday_day, num_years=20): # Определение текущей даты current_date = datetime.datetime.now() # Открываем файл для записи результатов with open("birthday_weekdays.txt", "w") as file: for year in range(current_date.year, current_date.year + num_years): birthday_date = datetime.datetime(year, birthday_month, birthday_day) weekday = calendar.day_name[birthday_date.weekday()] # Записываем результат в файл file.write(f"Date: {birthday_day:02d}.{birthday_month:02d} {year} - {weekday}\n") print("Результаты записаны в файл 'birthday_weekdays.txt'.") if __name__ == "__main__": # Получаем от пользователя месяц и день дня рождения birthday_month = int(input("Введите месяц вашего дня рождения (число от 1 до 12): ")) birthday_day = int(input("Введите день вашего дня рождения (число от 1 до 31): ")) calculate_weekday(birthday_month, birthday_day)

Этот код запрашивает у пользователя месяц и день дня рождения, а затем вычисляет дни недели для ближайших 20 лет и записывает результаты в файл "birthday_weekdays.txt". Наконец, он выводит сообщение о завершении операции.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос