print("################################################################################") 
print('''
ASSERTIONS\n''')
print("################################################################################") 

print('''
The assert statement in python gives users a quick way to confirm that the state
of a computation is as expected. An assert statement can take one of two
forms:\n''')

print('''
    assert Boolean expression

    or 

    assert Boolean expression, argument\n''')

print('''
When an assert statement is encountered, the Boolean expression is evaluated. If
it evaluates to True, execution proceeds on its merry way. If it evaluates to
False, an AssertionError exception is raised.
Assertions are a useful defensive programming tool. They can be used to confirm
that the arguments to a function are of the appropriate types. They are also a
useful debugging tool. They can be used, for example, to confirm that
intermermediate values have the expected values or that a function returns an
acceptable value.\n''')
