maths.zellers_congruence

Attributes

parser

Functions

zeller(→ str)

Zellers Congruence Algorithm

Module Contents

maths.zellers_congruence.zeller(date_input: str) str

Zellers Congruence Algorithm Find the day of the week for nearly any Gregorian or Julian calendar date

>>> zeller('01-31-2010')
'Your date 01-31-2010, is a Sunday!'

Validate out of range month >>> zeller(‘13-31-2010’) Traceback (most recent call last):

ValueError: Month must be between 1 - 12 >>> zeller(‘.2-31-2010’) Traceback (most recent call last):

ValueError: invalid literal for int() with base 10: ‘.2’

Validate out of range date: >>> zeller(‘01-33-2010’) Traceback (most recent call last):

ValueError: Date must be between 1 - 31 >>> zeller(‘01-.4-2010’) Traceback (most recent call last):

ValueError: invalid literal for int() with base 10: ‘.4’

Validate second separator: >>> zeller(‘01-31*2010’) Traceback (most recent call last):

ValueError: Date separator must be ‘-’ or ‘/’

Validate first separator: >>> zeller(‘01^31-2010’) Traceback (most recent call last):

ValueError: Date separator must be ‘-’ or ‘/’

Validate out of range year: >>> zeller(‘01-31-8999’) Traceback (most recent call last):

ValueError: Year out of range. There has to be some sort of limit…right?

Test null input: >>> zeller() Traceback (most recent call last):

TypeError: zeller() missing 1 required positional argument: ‘date_input’

Test length of date_input: >>> zeller(‘’) Traceback (most recent call last):

ValueError: Must be 10 characters long >>> zeller(‘01-31-19082939’) Traceback (most recent call last):

ValueError: Must be 10 characters long

maths.zellers_congruence.parser