1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
| eingabe_ok = False
|
| while not eingabe_ok:
| try:
| jahr_input = input("Geben Sie die Jahresnummer ein! ")
| x = int(jahr_input)
| eingabe_ok = True
| except:
| print("Eingabe ist keine Zahl")
|
|
| # calc_oster_sunday
| # argument : Jahresnummer
| # rückgabe: tage im märz
| def calc_oster_sunday(year: int) -> (int,int):
| a = year % 19
| k = year // 100
| m = 15 + (3*k + 3) // 4 - (8*k + 13) // 25
| d = (19*a + m) % 30
| s = 2 - (3*k + 3) // 4
| r = (d + a // 11) // 29
| og = 21 + d - r
| sz = 7 - (year + year//4 + s) % 7
| oe = 7 - (og - sz) % 7
| os = (og + oe)
| if os <= 31:
| tag = os
| monat = 3
| else:
| tag = os-31
| monat = 4
| return (tag,monat)
|
| tag,monat = calc_oster_sunday(x)
|
| months = (None, "Jan", "Feb", "März", "April")
|
| print(f"Der Ostersonntag im {x} ist am {tag}ten {months[monat]}.")
|
|