print("Hello World!")
#greet user
name=input("\nWhat's your name? ")
print("\nHi, " +name+"!")
#day teller
print("Enter a date (earliest date 01.01.1990) you would like to know the weekday to:")
months=['January','February','March','April','May','June','July','August','September','October','November','December']
endings=['st','nd','rd']+17*['th']+['st','nd','rd']+7*['th']+['st']
weekdays=['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday']
year=input('\nYear: ')
month=input('Month (1-12): ')
day=input('Day (1-31): ')
year_number=int(year)
month_number=int(month)
day_number=int(day)
#check if leap year
def schaltjahr(year_number):
if year_number%4==0:
if year_number%100==0:
if year_number%400==0:
return True
else:
return False
return False
else:
return True
return True
#check validity of date
if year_number<1990 or month_number<1 or month_number>12 or day_number<0 or day_number>31:
print("invalid date")
elif month_number==2 and day_number>29:
print("invalid date")
elif schaltjahr(year_number) and month_number==2 and day_number>28:
print("invalid date")
elif month_number==4 or month_number==6 or month_number==9 or month_number==11:
if day_number>30:
print("invalid date")
else:
#count days from 01.01.1990
counter = 0
jahr = 1990
monat = 1
while jahr<year_number:
if schaltjahr(jahr):
counter += 366
else:
counter += 365
jahr += 1
while monat<month_number:
if monat in [1, 3, 5, 7, 8, 10]:
counter += 31
elif monat in [4, 6, 9, 11]:
counter += 30
elif monat==2 and schaltjahr(year_number):
counter += 29
elif monat==2:
counter += 28
monat += 1
counter += day_number
weekday=counter%7
#output
print('\n'+months[month_number-1]+' '+day+endings[day_number-1]+', '+year+" was a "+weekdays[weekday])