{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Lecture 11"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"-Introduction: [>>](#Introduction) \n",
"-Module functions: [>>](#Module-functions) \n",
"-Creating a module: [>>](#Creating-a-module) \n",
"--Working in CoCalc: [>>](#Working-in-CoCalc) \n",
"--Working on your own computer: [>>](#Working-on-your-own-computer) \n",
"-Using the module: [>>](#Using-the-module) \n",
"-Accessing modules in other folders: [>>](#Accessing-modules-in-other-folders) \n",
"--Working in CoCalc: [>>](#Working-in-CoCalc) \n",
"--Working on your own computer: [>>](#Working-on-your-own-computer) \n",
"-Keyboard input to Python: [>>](#Keyboard-input-to-Python) "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Some organisational matters\n",
"\n",
"Welcome back. I hope your exams went well!\n",
"\n",
"This semester, Phys105 will run for the first five weeks. We will introduce some new material in the first two weeks, then use the remainig three weeks to complete any outstanding Notebooks.\n",
"\n",
"The Computer Classes are timetabled as follows:\n",
"\n",
"| Day | Time |\n",
"|----------|-------------|\n",
"|Tuesday |09:00...11:00| \n",
"|Tuesday |11:00...13:00|\n",
"|Wednesday |09:00...11:00| \n",
"\n",
"To get into your class, go to the [Phys105 Canvas page](https://liverpool.instructure.com/courses/19175) and click on the relevant link (as we did last semester). Don't use the link in your timetable!\n",
"\n",
"If anyone who has got previous computing experience wants to do a project in the last five weeks of Phys105, rather than the Notebooks in the computer classes, please mail me after this lecture! (A possible project would be the simulation of the behaviour of the lift in the Oliver Lodge building and the optimisation of its rest position - but I am open to suggestions.)\n",
"\n",
"## Introduction\n",
"\n",
"This week, we will first see how we can turn the functions we have written in a Jupyter Notebook into a module that can be loaded and used in the same way as the Numpy, Matplotlib or other libraries. We will try this using CoCalc, but also describe how it can be done on a PC. (To avoid confusion, the parts of this Notebook that don't refer to using CoCalc will be in blue text.) We will then look at how we can provide input to Python programs from the keyboard. \n",
"\n",
"## Module functions \n",
"\n",
"Let's start by writing a few functions that we can use to create a module."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"#\n",
"def circleParams(r):\n",
" '''\n",
" Given the radius of a circle, this function returns its area and circumference.\n",
" '''\n",
" A = np.pi*r**2\n",
" c = 2*np.pi*r\n",
" return A, c\n",
"#\n",
"def rectangleParams(h, w):\n",
" '''\n",
" Given the height and width of a rectangle, this function returns its area and perimeter.\n",
" '''\n",
" A = h*w\n",
" p = 2*(h + w)\n",
" return A, p\n",
"#\n",
"def sphereParams(r):\n",
" '''\n",
" Given the radius of a sphere, this function returns its volume and its surface area.\n",
" '''\n",
" V = 4/3*np.pi*r**3\n",
" A = 4*np.pi*r**2\n",
" return V, A\n",
"#\n",
"def rectPrismParams(h, w, d):\n",
" '''\n",
" Given the height, width and depth of a rectangular prism, this function returns its volume, \n",
" surface area and total side length.\n",
" '''\n",
" V = h*w*d\n",
" A = 2*(h*w + w*d + h*d)\n",
" s = 4*(h + w + d)\n",
" return V, A, s"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"As we have seen many times, we can use these functions in the Notebook in which they are defined. For example, here is a plot of the volume, $V$, and area, $A$, of a sphere as a function of its radius, $r$."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"