https://pythonhomework.pythonprogramminghelp.com/3-smart-strategies-to-randomized-block-design-rbd/