Добавить в корзинуПозвонить
Найти в Дзене

Программа для вычисления даты православной пасхи на Python

Код программы (с графическим интерфейсом) для вычисления даты православной пасхи на Python: #---------------------------------------------------------------------------------------
# Name: pasha
#
# Author: Netler
#
# Created: 06.04.2026
# Copyright: (c) Netler 2026
#---------------------------------------------------------------------------------------
import tkinter as tk
from tkinter import messagebox
from datetime import datetime
def calculate_easter(year):
"""Вычисление даты православной Пасхи по алгоритму Гаусса."""
a = year % 19
b = year % 4
c = year % 7
d = (19 * a + 15) % 30
e = (2 * b + 4 * c + 6 * d + 6) % 7
days = d + e + 13
if days > 39:
return f"Дата православной Пасхи: {days - 39} мая {year}"
elif days > 9:
return f"Дата православной Пасхи: {days - 9} апреля {year}"
else:
return f"Дата православной Пасхи: {days} марта {year}"
def on_calculate():
try:
year

Код программы (с графическим интерфейсом) для вычисления даты православной пасхи на Python:

#---------------------------------------------------------------------------------------
# Name: pasha
#
# Author: Netler
#
# Created: 06.04.2026
# Copyright: (c) Netler 2026
#---------------------------------------------------------------------------------------

import tkinter as tk
from tkinter import messagebox
from datetime import datetime

def
calculate_easter(year):
"""Вычисление даты православной Пасхи по алгоритму Гаусса."""
a = year %
19
b = year %
4
c = year %
7
d = (
19 * a + 15) % 30
e = (
2 * b + 4 * c + 6 * d + 6) % 7
days = d + e +
13

if days >
39:
return f"Дата православной Пасхи: {days - 39} мая {year}"
elif days >
9:
return f"Дата православной Пасхи: {days - 9} апреля {year}"
else:
return f"Дата православной Пасхи: {days} марта {year}"

def
on_calculate():
try:
year = int(year_entry.get())
result = calculate_easter(year)
result_label.config(text=result)
except ValueError:
messagebox.showerror("Ошибка", "Пожалуйста, введите корректный год.")

# Создание окна
root = tk.Tk()
root.title("Православная Пасха")

# Получаем текущий год
current_year = datetime.now().year

# Ввод года (по умолчанию — текущий)
tk.Label(root, text="Введите год:").pack(pady=
5)
year_entry = tk.Entry(root)
year_entry.insert(
0, current_year) # Вставляем текущий год
year_entry.pack(pady=
5)

# Кнопка вычисления
tk.Button(root, text="Вычислить", command=on_calculate).pack(pady=
10)

# Результат
result_label = tk.Label(root, text="", font=("Arial",
12))
result_label.pack(pady=
10)

root.mainloop()

Примечания

1. Дата православной Пасхи вычисляется по алгоритму Гаусса.

2. При запуске программы поле ввода года (year_entry) уже будет заполнено текущим годом, но пользователь сможет ввести любой другой.

3. Встроенный текстовый dzen-редактор не позволяет сохранять отступы в публикуемом программном коде (отсутствие этих отступов в Python приведёт к ошибке!).