{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Week 11 Exam 2 Practice Problems" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## College Savings Problem" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "After 18 years, you saved $41672.09\n" ] } ], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "\n", "bal = 1000\n", "bal_array = np.zeros(18*12+1)\n", "for i in range(18*12):\n", " n_bal = bal + 0.005*bal + 100\n", " bal_array[i+1]=n_bal\n", " bal = n_bal\n", " \n", "fig, ax = plt.subplots()\n", "ax.plot(bal_array)\n", "ax.set_title(\"College savings over 18 years vs. # months saved\")\n", "ax.set_ylabel(\"Amount Saved ($)\")\n", "ax.set_xlabel(\"Number of Months (#)\")\n", "plt.show()\n", "\n", "# tell the user how much they saved after 18 years\n", "sav = bal_array[-1] # index out the last value from the array\n", "print(f\"After 18 years, you saved ${round(sav,2)}\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 2: approximation of e" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# Prototype the function in a Jupyter notebook code cell\n", "\n", "import numpy as np\n", "\n", "# prototype out the function to approximate e\n", "def eapprox(K):\n", " k_array = np.random.randint(1,K+1,K)\n", " J=0\n", " for i in range(1,K+1):\n", " if not (i in k_array):\n", " J = J + 1\n", " e = K/J\n", " return e" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([5, 3, 3, 1, 1])" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# See how NumPy's np.random.randint() function works\n", "import numpy as np\n", "np.random.randint(1,6,5)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "2.711570270343556" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# make sure the prototype function can be called in a Jupyter notebook\n", "eapprox(100000)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " Volume in drive C is Windows\n", " Volume Serial Number is B899-AB94\n", "\n", " Directory of C:\\Users\\student\\Desktop\n", "\n", "12/02/2019 11:44 AM .\n", "12/02/2019 11:44 AM ..\n", "12/02/2019 10:11 AM .ipynb_checkpoints\n", "12/02/2019 11:07 AM __pycache__\n", "12/02/2019 09:50 AM 2,502 HW_Problem_Example.ipynb\n", "12/02/2019 11:22 AM 1,457 Kaltura Capture.lnk\n", "05/13/2016 12:33 PM 210 MSDS Online.url\n", "12/02/2019 11:06 AM 249 myfunc.py\n", "08/01/2018 03:14 PM Safety Information\n", "12/02/2019 11:44 AM 23,672 Week11_Exam2_Practice_Problems.ipynb\n", " 5 File(s) 28,090 bytes\n", " 5 Dir(s) 320,424,710,144 bytes free\n" ] } ], "source": [ "# make sure the myfunc.py file is in the same directory as the running notebook\n", "%ls" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "2.380952380952381" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Make sure the function can be imported from the myfuncs.py file\n", "\n", "from myfunc import eapprox\n", "eapprox(100)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The approximation of e is: 5.0 and the error is 2.28172\n" ] } ], "source": [ "# The Finished Program\n", "\n", "from math import exp\n", "from myfunc import eapprox\n", "\n", "# pick a number for k\n", "k = 5\n", "# call the eapprox function that runs a loop to calcaluate e\n", "approx = eapprox(k)\n", "# use Python's exp() function to calculate e\n", "exact = exp(1)\n", "# print out the approximation of e and the difference between\n", "# the approximation and exp()\n", "error = abs(approx-exact)\n", "print(f\"The approximation of e is: {approx} and the error is {round(error,5)}\")\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.4" } }, "nbformat": 4, "nbformat_minor": 2 }