python beginner. I have assignment

The task is to write a program that reads in a date in the form year, month and day (three integers) and prints which day of the week it is. The day of the week calculation MUST be done with a formula called Zeller's congruence, see below. The program dialog should look like this (user input in black text): Year: 2018 Month: 8 Day: 21 It is a Tuesday User input shall be checked and each question shall be repeated until the user has answered it correctly. The program dialog could therefore look like this: Year: 1066 Out of allowed range 1583 to 9999 Year: 20178 Out of allowed range 1583 to 9999 Year: 2018 Month: 15 Out of allowed range 1 to 12 Month: 9 Day: 0 Out of allowed range 1 to 30 Day: 31 Out of allowed range 1 to 30 Day: 13 It is a Thursday The following must be checked:  that the year is in the range 1583 – 9999  that the month is in the interval 1-12  that the day number within the month matches the month number, i.e. that if the month is 1, 3, 5, 7, 8, 10 or 12 then day number is in the range 1-31, if the month is 4, 6, 9, or 11 then the day number is in the range 1-30 and if the month is 2 then the day number is in the range 1-28 or 1 -29 depending on whether it is a leap year or not. It is a leap year if the year is evenly divisible by 400, or if it is evenly divisible by 4 but not evenly divisible by 100

🔴 No definitive solution yet