Graded Homework 4

**Grade: 4.5/5**

As always, wonderfully done, Ryan. You seem to have been exposed to Python programming before, and if not, kudos to you for your use of good programming practices! I made some comments that you should look over, especially the one on `build_random_function`.

Once you've read the comments (both on the PR and under files changed), make a comment to the pull request or send me/Diana an email, letting us know that you've checked them out. Afterwards, close the PR (and optionally delete the graded branch)

#### REMEMBER NOT TO MERGE THESE PRs!