Created main() function in e019, missed it in the last commit.

git-svn-id: file:///srv/svn/euler@64 e5f4c3ec-3c0c-11df-b522-21efaa4426b5
This commit is contained in:
Correl Roush 2010-05-04 18:41:33 +00:00
parent 12c5dd7875
commit 672eb30f3e

45
e019.py
View file

@ -20,30 +20,31 @@ class Day:
def is_leap_year(year): def is_leap_year(year):
return (year % 100 > 0 and year % 4 == 0) or (year % 400 == 0) return (year % 100 > 0 and year % 4 == 0) or (year % 400 == 0)
year = 1900 def main():
# 1/1/1900 was a Monday year = 1900
first_day = Day.MONDAY # 1/1/1900 was a Monday
first_day = Day.MONDAY
total = 0 total = 0
while year < 2000: while year < 2000:
year = year + 1 year = year + 1
# Count last year's days to advance the starting weekday # Count last year's days to advance the starting weekday
days = 366 if is_leap_year(year - 1) else 365 days = 366 if is_leap_year(year - 1) else 365
# List the number of days in each month for this year # List the number of days in each month for this year
months = [ months = [
31, 31,
29 if is_leap_year(year) else 28, 29 if is_leap_year(year) else 28,
31, 30, 31, 30, 31, 31, 30, 31, 30, 31 31, 30, 31, 30, 31, 31, 30, 31, 30, 31
] ]
first_day = (first_day + days % 7) % 7 first_day = (first_day + days % 7) % 7
sundays = 0 sundays = 0
for m in range(len(months)): for m in range(len(months)):
days = sum(months[:m]) days = sum(months[:m])
first_sunday = (7 - ((first_day + days % 7) % 7)) % 7 + 1 first_sunday = (7 - ((first_day + days % 7) % 7)) % 7 + 1
if first_sunday == 1: if first_sunday == 1:
total = total + 1 total = total + 1
print 'Total months beginning on Sunday from 1/1/1901 to 12/31/2000: {0}'.format(total) print 'Total months beginning on Sunday from 1/1/1901 to 12/31/2000: {0}'.format(total)
if __name__ == '__main__': if __name__ == '__main__':
main() main()