Structured Programming with Python - Clough, David E.; Chapra, Steven C. (Introduction to Engineering and Scientific Computing with Python ; page 101-136 ; ISBN 9781003256861, 2022)