This commit is contained in:
Jen Looper 2021-11-20 21:35:21 -05:00
Родитель 61c09446c4
Коммит ec7eedc0ca
3 изменённых файлов: 348 добавлений и 270 удалений

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Просмотреть файл

@ -1,10 +1,10 @@
{ {
"cells": [ "cells": [
{ {
"cell_type": "markdown",
"metadata": { "metadata": {
"collapsed": true "collapsed": true
}, },
"cell_type": "markdown",
"source": [ "source": [
"# Introduction to Programming with Python\n", "# Introduction to Programming with Python\n",
"\n", "\n",
@ -14,29 +14,44 @@
] ]
}, },
{ {
"cell_type": "code",
"execution_count": 1,
"metadata": { "metadata": {
"trusted": true "trusted": true
}, },
"cell_type": "code", "outputs": [],
"source": [ "source": [
"import jturtle as turtle" "import jturtle as turtle"
],
"execution_count": 1,
"outputs": []
},
{
"metadata": {},
"cell_type": "markdown",
"source": [
"To simplify writing, let us use a variable `size` to represent the size of the house. First thing we need to do is to draw a square:"
] ]
}, },
{ {
"metadata": { "cell_type": "markdown",
"trusted": true, "metadata": {},
"scrolled": true "source": [
}, "In the last challenge, did you notice yourself writing a lot of the same numbers repeatedly? You can save typing by using a variable. Create one named 'size' to represent the size of the house. The first thing we need to do is to draw a square:"
]
},
{
"cell_type": "code", "cell_type": "code",
"execution_count": 3,
"metadata": {
"scrolled": true,
"trusted": true
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAOcAAADnCAYAAADl9EEgAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8/fFQqAAAACXBIWXMAAAsTAAALEwEAmpwYAAAC2klEQVR4nO3cwQ3DIBAAQV/k/lu+NJCv8SqaKYCDxwpezO5eQM/n7Q0Av4kTosQJUeKEKHFClDghSpwQJU6IEidEiROixAlR4oQocUKUOCFKnBAlTogSJ0SJE6LECVHihChxQpQ4IUqcEHWfGDIzPsflL+3uPLX2kTiv69lDwBuevnQ8ayFKnBAlTogSJ0SJE6LECVHihChxQpQ4IUqcECVOiBInRIkTosQJUeKEKHFClDghSpwQJU6IEidEiROixAlR4oQocUKUOCFKnBAlTogSJ0SJE6LECVHihChxQpQ4IUqcECVOiBInRIkTosQJUeKEKHFClDghSpwQJU6IEidEiROixAlR4oQocUKUOCFKnBAlTogSJ0SJE6LECVHihChxQpQ4IUqcECVOiBInRIkTosQJUeKEKHFClDghSpwQJU6IEidEiROixAlR4oQocUKUOCFKnBAlTogSJ0SJE6LECVHihChxQpQ4IUqcECVOiBInRIkTosQJUeKEKHFClDghSpwQJU6IEidEiROixAlR4oQocUKUOCFKnBAlTogSJ0SJE6LECVHihChxQpQ4IUqcECVOiBInRIkTosQJUeKEKHFClDghSpwQJU6IEidEiROixAlR4oQocUKUOCFKnBAlTogSJ0SJE6LECVHihChxQpQ4IUqcECVOiBInRIkTosQJUeKEKHFClDghSpwQJU6IEidEiROixAlR4oQocUKUOCFKnBAlTogSJ0SJE6LECVHihChxQpQ4IUqcECVOiBInRIkTosQJUeKEKHFClDghSpwQJU6IEidEiROixAlR4oQocUKUOCFKnBAlTogSJ0SJE6LECVHihChxQpQ4IUqcECVOiBInRN2nBs3MnpoF/2B2NQNFnrUQJU6IEidEiROixAlR4oQocUKUOCFKnBAlTogSJ0SJE6LECVHihChxQpQ4IUqcECVOiBInRIkTosQJUeKEKHFC1BcH9hDP2xJZHgAAAABJRU5ErkJggg==",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [ "source": [
"size=120\n", "size=120\n",
"turtle.forward(size)\n", "turtle.forward(size)\n",
@ -48,33 +63,35 @@
"turtle.forward(size)\n", "turtle.forward(size)\n",
"turtle.right(90)\n", "turtle.right(90)\n",
"turtle.done()" "turtle.done()"
],
"execution_count": 2,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAQEAAAD4CAYAAADsBlOYAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4wLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvqOYd8AAAAyxJREFUeJzt3cEJwzAQAEFfcP8tX5qIEfHOFCAOgVbopdndC+j6nB4AOEsEIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIO4+PcAvzYxPFHil3Z2n1n5VBK7r2c2CE56+3DwHIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIO4+PcCvzcyengH+yew6M1DmOQBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxX5PAEPHBIswIAAAAAElFTkSuQmCC\n",
"text/plain": "<Figure size 432x288 with 1 Axes>"
},
"metadata": {
"needs_background": "light"
}
}
] ]
}, },
{ {
"metadata": {},
"cell_type": "markdown", "cell_type": "markdown",
"metadata": {},
"source": [ "source": [
"Now, after drawing the main square, let us draw the roof. After the code above, the turtle is in the low left corner of the square, so we need to move up, and then draw a triangle:" "Now, after drawing the main square, let's draw the roof. After the code above, the turtle is in the lower left corner of the square, so we need to move up and then draw a triangle:"
] ]
}, },
{ {
"cell_type": "code",
"execution_count": 8,
"metadata": { "metadata": {
"trusted": true "trusted": true
}, },
"cell_type": "code", "outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [ "source": [
"turtle.forward(size)\n", "turtle.forward(size)\n",
"turtle.right(90)\n", "turtle.right(90)\n",
@ -92,33 +109,35 @@
"turtle.forward(size)\n", "turtle.forward(size)\n",
"turtle.right(120)\n", "turtle.right(120)\n",
"turtle.done()" "turtle.done()"
],
"execution_count": 3,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": "<Figure size 432x288 with 1 Axes>"
},
"metadata": {
"needs_background": "light"
}
}
] ]
}, },
{ {
"metadata": {},
"cell_type": "markdown", "cell_type": "markdown",
"metadata": {},
"source": [ "source": [
"Finally, to draw a window, we need to put the pen up to stop drawing, move 2/3 of the `size` down and 1/3 left, and draw a smaller square:" "Finally, to draw a window, we need to raise the pen up to stop drawing, move 2/3 of the `size` down and 1/3 left, and draw a smaller square:"
] ]
}, },
{ {
"cell_type": "code",
"execution_count": 9,
"metadata": { "metadata": {
"trusted": true "trusted": true
}, },
"cell_type": "code", "outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [ "source": [
"# Draw a square\n", "# Draw a square\n",
"turtle.forward(size)\n", "turtle.forward(size)\n",
@ -156,24 +175,11 @@
"turtle.right(90)\n", "turtle.right(90)\n",
"\n", "\n",
"turtle.done()" "turtle.done()"
],
"execution_count": 4,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": "<Figure size 432x288 with 1 Axes>"
},
"metadata": {
"needs_background": "light"
}
}
] ]
}, },
{ {
"metadata": {},
"cell_type": "markdown", "cell_type": "markdown",
"metadata": {},
"source": [ "source": [
"You can notice that as the program becomes rather big, it is also getting more difficult to understand. One thing to simplify understanding a program is by using **comments**. Comments are pieces of text that can be embedded into the program, and which are ignored by Python. Anything that starts with `#` sign and until the end of line is considered a comment, and is discarded.\n", "You can notice that as the program becomes rather big, it is also getting more difficult to understand. One thing to simplify understanding a program is by using **comments**. Comments are pieces of text that can be embedded into the program, and which are ignored by Python. Anything that starts with `#` sign and until the end of line is considered a comment, and is discarded.\n",
"\n", "\n",
@ -185,8 +191,8 @@
] ]
}, },
{ {
"metadata": {},
"cell_type": "markdown", "cell_type": "markdown",
"metadata": {},
"source": [ "source": [
"## Introducing Functions\n", "## Introducing Functions\n",
"\n", "\n",
@ -196,10 +202,12 @@
] ]
}, },
{ {
"cell_type": "code",
"execution_count": 19,
"metadata": { "metadata": {
"trusted": true "trusted": true
}, },
"cell_type": "code", "outputs": [],
"source": [ "source": [
"def square(x):\n", "def square(x):\n",
" turtle.forward(x)\n", " turtle.forward(x)\n",
@ -210,43 +218,43 @@
" turtle.right(90)\n", " turtle.right(90)\n",
" turtle.forward(x)\n", " turtle.forward(x)\n",
" turtle.right(90)" " turtle.right(90)"
], ]
"execution_count": 19,
"outputs": []
}, },
{ {
"metadata": {},
"cell_type": "markdown", "cell_type": "markdown",
"metadata": {},
"source": [ "source": [
"When we run this code, nothing is drawn on the screen --- we just specify the list of commands that comprise a function. However, once the cell above has been executed, Python gets to know a new command `square`. To actually draw a square we need to **call** this function:" "When we run this code, nothing is drawn on the screen --- we just specify the list of commands that comprise a function. However, once the cell above has been executed, Python gets to know a new command `square`. To actually draw a square we need to **call** this function:"
] ]
}, },
{ {
"cell_type": "code",
"execution_count": 21,
"metadata": { "metadata": {
"trusted": true "trusted": true
}, },
"cell_type": "code",
"source": [
"square(100)\n",
"turtle.done()"
],
"execution_count": 21,
"outputs": [ "outputs": [
{ {
"output_type": "display_data",
"data": { "data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAQEAAAD4CAYAAADsBlOYAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4wLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvqOYd8AAAAy1JREFUeJzt3dEJAyEQQMHbcP23vGkiieTeTAGyCD7xy9ndC+h6nR4AOEsEIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIO4+PcAnzYxPFHic3Z1vrv+oCFzX9zcMfukXF5vnAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMTdpwf4tJnZ0zPAP5ldZwbKPAcgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQg7g2jwBDx4wvyuAAAAABJRU5ErkJggg==\n", "image/png": "iVBORw0KGgoAAAANSUhEUgAAAQEAAAD4CAYAAADsBlOYAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4wLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvqOYd8AAAAy1JREFUeJzt3dEJAyEQQMHbcP23vGkiieTeTAGyCD7xy9ndC+h6nR4AOEsEIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIO4+PcAnzYxPFHic3Z1vrv+oCFzX9zcMfukXF5vnAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMSJAMTdpwf4tJnZ0zPAP5ldZwbKPAcgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQgTgQg7g2jwBDx4wvyuAAAAABJRU5ErkJggg==",
"text/plain": "<Figure size 432x288 with 1 Axes>" "text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
}, },
"metadata": { "metadata": {
"needs_background": "light" "needs_background": "light"
} },
"output_type": "display_data"
} }
],
"source": [
"square(100)\n",
"turtle.done()"
] ]
}, },
{ {
"metadata": {},
"cell_type": "markdown", "cell_type": "markdown",
"metadata": {},
"source": [ "source": [
"Because we need to draw squares of different sizes, this function has one **argument**, or **parameter**. It is denoted by `(x)` after the function's name, and it is in fact a kind of variable, which takes the value that is passed to the function during the call. In the case above, we have called the function `square(100)`, so in the functions's body variable `x` will be equal to 100. We can use any expression in place of a parameter, for example `square(size/2+10)` would be a perfectly valid call. Expression `size/2+10` would be computed, and the result associated with parameter `x`. When defining a function you always use some names in place of parameters, which will act as \"placeholders\" - you cannot use expressions. \n", "Because we need to draw squares of different sizes, this function has one **argument**, or **parameter**. It is denoted by `(x)` after the function's name, and it is in fact a kind of variable, which takes the value that is passed to the function during the call. In the case above, we have called the function `square(100)`, so in the functions's body variable `x` will be equal to 100. We can use any expression in place of a parameter, for example `square(size/2+10)` would be a perfectly valid call. Expression `size/2+10` would be computed, and the result associated with parameter `x`. When defining a function you always use some names in place of parameters, which will act as \"placeholders\" - you cannot use expressions. \n",
"\n", "\n",
@ -254,10 +262,25 @@
] ]
}, },
{ {
"cell_type": "code",
"execution_count": 24,
"metadata": { "metadata": {
"trusted": true "trusted": true
}, },
"cell_type": "code", "outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [ "source": [
"square(size)\n", "square(size)\n",
"\n", "\n",
@ -277,40 +300,27 @@
"square(size/3)\n", "square(size/3)\n",
"\n", "\n",
"turtle.done()" "turtle.done()"
],
"execution_count": 24,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": "<Figure size 432x288 with 1 Axes>"
},
"metadata": {
"needs_background": "light"
}
}
] ]
}, },
{ {
"metadata": {},
"cell_type": "markdown", "cell_type": "markdown",
"metadata": {},
"source": [ "source": [
"Inside functions we can of course call other functions. As a simple exercise, please take the code that draws a house above, and turn it into a function with one parameter -- the size of the house. Put your code in the cell below, and test it:" "Inside functions we can of course call other functions. As a simple exercise, please take the code that draws a house above, and turn it into a function with one parameter -- the size of the house. Put your code in the cell below, and test it:"
] ]
}, },
{ {
"cell_type": "code",
"execution_count": null,
"metadata": { "metadata": {
"trusted": true "trusted": true
}, },
"cell_type": "code", "outputs": [],
"source": [], "source": []
"execution_count": null,
"outputs": []
}, },
{ {
"metadata": {},
"cell_type": "markdown", "cell_type": "markdown",
"metadata": {},
"source": [ "source": [
"If you did not succeed, or if you are getting some syntax errors, take a note of the following:\n", "If you did not succeed, or if you are getting some syntax errors, take a note of the following:\n",
"\n", "\n",
@ -320,8 +330,8 @@
] ]
}, },
{ {
"metadata": {},
"cell_type": "markdown", "cell_type": "markdown",
"metadata": {},
"source": [ "source": [
"## Blocks and Line Indentation\n", "## Blocks and Line Indentation\n",
"\n", "\n",
@ -354,8 +364,8 @@
] ]
}, },
{ {
"metadata": {},
"cell_type": "markdown", "cell_type": "markdown",
"metadata": {},
"source": [ "source": [
"## Functions that Return a Value\n", "## Functions that Return a Value\n",
"\n", "\n",
@ -365,21 +375,21 @@
] ]
}, },
{ {
"cell_type": "code",
"execution_count": 25,
"metadata": { "metadata": {
"trusted": true "trusted": true
}, },
"cell_type": "code", "outputs": [],
"source": [ "source": [
"def interest(amount, rate):\n", "def interest(amount, rate):\n",
" x = amount * (1+rate/100)\n", " x = amount * (1+rate/100)\n",
" return x" " return x"
], ]
"execution_count": 25,
"outputs": []
}, },
{ {
"metadata": {},
"cell_type": "markdown", "cell_type": "markdown",
"metadata": {},
"source": [ "source": [
"In this function, `amount` is the amount of money we currently have, and `rate` is the yearly interest rate in percents. We calculate the amount after one year and denote it by `x`, and then return this value using the `return` statement.\n", "In this function, `amount` is the amount of money we currently have, and `rate` is the yearly interest rate in percents. We calculate the amount after one year and denote it by `x`, and then return this value using the `return` statement.\n",
"\n", "\n",
@ -387,80 +397,86 @@
] ]
}, },
{ {
"cell_type": "code",
"execution_count": 26,
"metadata": { "metadata": {
"trusted": true "trusted": true
}, },
"cell_type": "code", "outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"102.49999999999999\n"
]
}
],
"source": [ "source": [
"result = interest(100, 2.5)\n", "result = interest(100, 2.5)\n",
"print(result)" "print(result)"
],
"execution_count": 26,
"outputs": [
{
"output_type": "stream",
"text": "102.49999999999999\n",
"name": "stdout"
}
] ]
}, },
{ {
"metadata": {},
"cell_type": "markdown", "cell_type": "markdown",
"metadata": {},
"source": [ "source": [
"We can also directly use `interest` in any expression, for example, just to print the amount in one year, we can write" "We can also directly use `interest` in any expression, for example, just to print the amount in one year, we can write"
] ]
}, },
{ {
"cell_type": "code",
"execution_count": 27,
"metadata": { "metadata": {
"trusted": true "trusted": true
}, },
"cell_type": "code",
"source": [
"interest(100, 2.5)"
],
"execution_count": 27,
"outputs": [ "outputs": [
{ {
"output_type": "execute_result",
"execution_count": 27,
"data": { "data": {
"text/plain": "102.49999999999999" "text/plain": [
"102.49999999999999"
]
}, },
"metadata": {} "execution_count": 27,
"metadata": {},
"output_type": "execute_result"
} }
],
"source": [
"interest(100, 2.5)"
] ]
}, },
{ {
"metadata": {},
"cell_type": "markdown", "cell_type": "markdown",
"metadata": {},
"source": [ "source": [
"And to calculate the resulting amount in two years:" "And to calculate the resulting amount in two years:"
] ]
}, },
{ {
"cell_type": "code",
"execution_count": 28,
"metadata": { "metadata": {
"trusted": true "trusted": true
}, },
"cell_type": "code",
"source": [
"interest(interest(100, 2.5),2.5)"
],
"execution_count": 28,
"outputs": [ "outputs": [
{ {
"output_type": "execute_result",
"execution_count": 28,
"data": { "data": {
"text/plain": "105.06249999999997" "text/plain": [
"105.06249999999997"
]
}, },
"metadata": {} "execution_count": 28,
"metadata": {},
"output_type": "execute_result"
} }
],
"source": [
"interest(interest(100, 2.5),2.5)"
] ]
}, },
{ {
"metadata": {},
"cell_type": "markdown", "cell_type": "markdown",
"metadata": {},
"source": [ "source": [
"## Local and Global Variables\n", "## Local and Global Variables\n",
"\n", "\n",
@ -470,10 +486,20 @@
] ]
}, },
{ {
"cell_type": "code",
"execution_count": 30,
"metadata": { "metadata": {
"trusted": true "trusted": true
}, },
"cell_type": "code", "outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"107.68906249999996\n"
]
}
],
"source": [ "source": [
"interest_rate = 2.5\n", "interest_rate = 2.5\n",
"\n", "\n",
@ -481,19 +507,11 @@
" return x * (1+interest_rate/100)\n", " return x * (1+interest_rate/100)\n",
"\n", "\n",
"print(interest(interest(interest(100))))" "print(interest(interest(interest(100))))"
],
"execution_count": 30,
"outputs": [
{
"output_type": "stream",
"text": "107.68906249999996\n",
"name": "stdout"
}
] ]
}, },
{ {
"metadata": {},
"cell_type": "markdown", "cell_type": "markdown",
"metadata": {},
"source": [ "source": [
"## Tuples\n", "## Tuples\n",
"\n", "\n",
@ -503,105 +521,121 @@
] ]
}, },
{ {
"cell_type": "code",
"execution_count": 31,
"metadata": { "metadata": {
"trusted": true "trusted": true
}, },
"cell_type": "code", "outputs": [],
"source": [ "source": [
"point = (0,10)" "point = (0,10)"
], ]
"execution_count": 31,
"outputs": []
}, },
{ {
"metadata": {},
"cell_type": "markdown", "cell_type": "markdown",
"metadata": {},
"source": [ "source": [
"To access individual coordinates of a point, we can use the notation `point[0]` and `point[1]`:" "To access individual coordinates of a point, we can use the notation `point[0]` and `point[1]`:"
] ]
}, },
{ {
"cell_type": "code",
"execution_count": 32,
"metadata": { "metadata": {
"trusted": true "trusted": true
}, },
"cell_type": "code",
"source": [
"print(\"Our coordinates are: x=\",point[0],', y=',point[1])"
],
"execution_count": 32,
"outputs": [ "outputs": [
{ {
"name": "stdout",
"output_type": "stream", "output_type": "stream",
"text": "Our coordinates are: x= 0 , y= 10\n", "text": [
"name": "stdout" "Our coordinates are: x= 0 , y= 10\n"
]
} }
],
"source": [
"print(\"Our coordinates are: x=\",point[0],', y=',point[1])"
] ]
}, },
{ {
"metadata": {},
"cell_type": "markdown", "cell_type": "markdown",
"metadata": {},
"source": [ "source": [
"Another way to decompose a tuple into parts is assigning it to a pair of variables. You can write:" "Another way to decompose a tuple into parts is assigning it to a pair of variables. You can write:"
] ]
}, },
{ {
"cell_type": "code",
"execution_count": 33,
"metadata": { "metadata": {
"trusted": true "trusted": true
}, },
"cell_type": "code", "outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Our coordinates are: x= 0 , y= 10\n"
]
}
],
"source": [ "source": [
"x,y = point\n", "x,y = point\n",
"print(\"Our coordinates are: x=\",x,', y=',y)" "print(\"Our coordinates are: x=\",x,', y=',y)"
],
"execution_count": 33,
"outputs": [
{
"output_type": "stream",
"text": "Our coordinates are: x= 0 , y= 10\n",
"name": "stdout"
}
] ]
}, },
{ {
"metadata": {},
"cell_type": "markdown", "cell_type": "markdown",
"metadata": {},
"source": [ "source": [
"By the way, using tuples you can write nice assignments for several variables at once, for example" "By the way, using tuples you can write nice assignments for several variables at once, for example"
] ]
}, },
{ {
"cell_type": "code",
"execution_count": 34,
"metadata": { "metadata": {
"trusted": true "trusted": true
}, },
"cell_type": "code", "outputs": [
{
"data": {
"text/plain": [
"10"
]
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [ "source": [
"x,y = 0,10\n", "x,y = 0,10\n",
"x+y" "x+y"
],
"execution_count": 34,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 34,
"data": {
"text/plain": "10"
},
"metadata": {}
}
] ]
}, },
{ {
"metadata": {},
"cell_type": "markdown", "cell_type": "markdown",
"metadata": {},
"source": [ "source": [
"Coming back to the interest rate example, we can return total amount and accumulated interest using a tuple:" "Coming back to the interest rate example, we can return total amount and accumulated interest using a tuple:"
] ]
}, },
{ {
"cell_type": "code",
"execution_count": 35,
"metadata": { "metadata": {
"trusted": true "trusted": true
}, },
"cell_type": "code", "outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"102.5 2.5\n"
]
}
],
"source": [ "source": [
"def interest(x,rate):\n", "def interest(x,rate):\n",
" acc = x*rate/100\n", " acc = x*rate/100\n",
@ -609,19 +643,11 @@
"\n", "\n",
"total, acc = interest(100,2.5)\n", "total, acc = interest(100,2.5)\n",
"print(total,acc)" "print(total,acc)"
],
"execution_count": 35,
"outputs": [
{
"output_type": "stream",
"text": "102.5 2.5\n",
"name": "stdout"
}
] ]
}, },
{ {
"metadata": {},
"cell_type": "markdown", "cell_type": "markdown",
"metadata": {},
"source": [ "source": [
"## Another Style of Drawing\n", "## Another Style of Drawing\n",
"\n", "\n",
@ -637,56 +663,58 @@
] ]
}, },
{ {
"cell_type": "code",
"execution_count": 5,
"metadata": { "metadata": {
"trusted": true "trusted": true
}, },
"cell_type": "code", "outputs": [],
"source": [ "source": [
"def square(x1,y1,x2,y2):\n", "def square(x1,y1,x2,y2):\n",
" turtle.line((x1,y1),(x1,y2))\n", " turtle.line((x1,y1),(x1,y2))\n",
" turtle.line((x1,y1),(x2,y1))\n", " turtle.line((x1,y1),(x2,y1))\n",
" turtle.line((x2,y2),(x1,y2))\n", " turtle.line((x2,y2),(x1,y2))\n",
" turtle.line((x2,y2),(x2,y1))" " turtle.line((x2,y2),(x2,y1))"
], ]
"execution_count": 5,
"outputs": []
}, },
{ {
"metadata": {},
"cell_type": "markdown", "cell_type": "markdown",
"metadata": {},
"source": [ "source": [
"Using this function, we can draw a house:" "Using this function, we can draw a house:"
] ]
}, },
{ {
"cell_type": "code",
"execution_count": 7,
"metadata": { "metadata": {
"trusted": true "trusted": true
}, },
"cell_type": "code", "outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAQEAAAD4CAYAAADsBlOYAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4wLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvqOYd8AAABMBJREFUeJzt2K2OpFUYRtFzyBCCIUFiEdwEnqsAMQ7PpZCgUQiCwnAtaBwBLAnmoEhmPjrQ01Nd389eS5d4k6pnJ6fmWmsAXe/sfQCwLxGAOBGAOBGAOBGAOBGAOBGAOBGAOBGAOBGAOBGAOBGAOBGAOBGAOBGAOBGAOBGAOBGAOBGAOBGAOBGAOBGAOBEImXN+Mud8b+87OBYRCJhzfjjn/GGM8fMY448555d738RxiMCFvTL+38YYn44xXo4xvh9jfD3n/F0MGEMELumB8X+x1vporfXtWuvlGOODMcaPQwwYInAp/zH+71793FrrTzHgHyJwAY8d/5YYMIYInNpTx78lBm0icEK3Gv+WGDSJwIk81/i3xKBFBE7gXuPfEoMGETiwvca/JQbXJgIHdJTxb4nBNYnAgRx1/FticC0icABnGf+WGFyDCOzorOPfEoNzE4EdXGX8W2JwTiJwR1cd/5YYnIsI3EFl/FticA4i8Iyq498Sg2MTgWdg/A8Tg2MSgRsy/scRg2MRgRsw/qcRg2MQgbdg/LchBvsSgScw/uchBvsQgTdg/PchBvclAo9g/PsQg/sQgf9g/McgBs9LBB5g/MckBs9DBF5h/OcgBrclAsP4z0oMbiMdAeO/BjF4O8kIGP81icHTpCJg/A1i8GYSETD+JjF4nEtHwPgZQwz+zyUjYPw8RAwedqkIGD+PIQavm2utvW+4iTnnZ2OMn8YYv44xvjJ8HmvO+f4Y45sxxudjjF/WWh/vfNJdXSkC744x/tr7Ds5vrTX3vuGeLhOBMcaYc67aF8htFX9Dl/pPAHhzIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxL/Y+gNfNOdfeN7yttdbc+wYeTwQO6MwjukLEajwHIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIO7F3gfwb3POtfcNdIjAway15t430OI5AHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEv9j7g1uaca+8b4EzmWjYDZZ4DECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCEPc33Gm/GI8qlCkAAAAASUVORK5CYII=",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [ "source": [
"square(0,0,120,120)\n", "square(0,0,120,120)\n",
"square(40,40,80,80)\n", "square(40,40,80,80)\n",
"turtle.line((0,120),(60,150))\n", "turtle.line((0,120),(60,150))\n",
"turtle.line((60,150),(120,120))\n", "turtle.line((60,150),(120,120))\n",
"turtle.done()" "turtle.done()"
],
"execution_count": 7,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAQEAAAD4CAYAAADsBlOYAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4wLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvqOYd8AAABMBJREFUeJzt2K2OpFUYRtFzyBCCIUFiEdwEnqsAMQ7PpZCgUQiCwnAtaBwBLAnmoEhmPjrQ01Nd389eS5d4k6pnJ6fmWmsAXe/sfQCwLxGAOBGAOBGAOBGAOBGAOBGAOBGAOBGAOBGAOBGAOBGAOBGAOBGAOBGAOBGAOBGAOBGAOBGAOBGAOBGAOBGAOBEImXN+Mud8b+87OBYRCJhzfjjn/GGM8fMY448555d738RxiMCFvTL+38YYn44xXo4xvh9jfD3n/F0MGEMELumB8X+x1vporfXtWuvlGOODMcaPQwwYInAp/zH+71793FrrTzHgHyJwAY8d/5YYMIYInNpTx78lBm0icEK3Gv+WGDSJwIk81/i3xKBFBE7gXuPfEoMGETiwvca/JQbXJgIHdJTxb4nBNYnAgRx1/FticC0icABnGf+WGFyDCOzorOPfEoNzE4EdXGX8W2JwTiJwR1cd/5YYnIsI3EFl/FticA4i8Iyq498Sg2MTgWdg/A8Tg2MSgRsy/scRg2MRgRsw/qcRg2MQgbdg/LchBvsSgScw/uchBvsQgTdg/PchBvclAo9g/PsQg/sQgf9g/McgBs9LBB5g/MckBs9DBF5h/OcgBrclAsP4z0oMbiMdAeO/BjF4O8kIGP81icHTpCJg/A1i8GYSETD+JjF4nEtHwPgZQwz+zyUjYPw8RAwedqkIGD+PIQavm2utvW+4iTnnZ2OMn8YYv44xvjJ8HmvO+f4Y45sxxudjjF/WWh/vfNJdXSkC744x/tr7Ds5vrTX3vuGeLhOBMcaYc67aF8htFX9Dl/pPAHhzIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxIgBxL/Y+gNfNOdfeN7yttdbc+wYeTwQO6MwjukLEajwHIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIE4EIO7F3gfwb3POtfcNdIjAway15t430OI5AHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEiAHEv9j7g1uaca+8b4EzmWjYDZZ4DECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCECcCEPc33Gm/GI8qlCkAAAAASUVORK5CYII=\n",
"text/plain": "<Figure size 432x288 with 1 Axes>"
},
"metadata": {
"needs_background": "light"
}
}
] ]
}, },
{ {
"metadata": {},
"cell_type": "markdown", "cell_type": "markdown",
"metadata": {},
"source": [ "source": [
"## An Exercise\n", "## An Exercise\n",
"\n", "\n",
@ -715,57 +743,62 @@
] ]
}, },
{ {
"cell_type": "code",
"execution_count": 13,
"metadata": { "metadata": {
"trusted": true "trusted": true
}, },
"cell_type": "code", "outputs": [
{
"data": {
"text/plain": [
"4.0"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [ "source": [
"import math\n", "import math\n",
"math.sqrt(16)" "math.sqrt(16)"
],
"execution_count": 13,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 13,
"data": {
"text/plain": "4.0"
},
"metadata": {}
}
] ]
}, },
{ {
"cell_type": "code",
"execution_count": null,
"metadata": { "metadata": {
"trusted": true "trusted": true
}, },
"cell_type": "code", "outputs": [],
"source": [ "source": [
"# Write your solution here" "# Write your solution here"
], ]
"execution_count": null,
"outputs": []
} }
], ],
"metadata": { "metadata": {
"interpreter": {
"hash": "aee8b7b246df8f9039afb4144a1f6fd8d2ca17a180786b69acc140d282b71a49"
},
"kernelspec": { "kernelspec": {
"name": "python36",
"display_name": "Python 3.6", "display_name": "Python 3.6",
"language": "python" "language": "python",
"name": "python3"
}, },
"language_info": { "language_info": {
"mimetype": "text/x-python",
"nbconvert_exporter": "python",
"name": "python",
"pygments_lexer": "ipython3",
"version": "3.6.6",
"file_extension": ".py",
"codemirror_mode": { "codemirror_mode": {
"version": 3, "name": "ipython",
"name": "ipython" "version": 3
} },
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.9"
} }
}, },
"nbformat": 4, "nbformat": 4,
"nbformat_minor": 2 "nbformat_minor": 2
} }

Просмотреть файл

@ -28,7 +28,7 @@ If Python and pip are installed a version number will be displayed, such as *3.8
### Visual Studio Code ### Visual Studio Code
The instructions for this workshop assume you are using [Visual Studio Code](https://code.visualstudio.com?WT.mc_id=academic-49102-chrhar), an open source code editor. You will also need the [Pylance extension](https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-pylance&WT.mc_id=academic-49102-chrhar), which will provide additional functionality when writing Python. The instructions for this workshop assume you are using [Visual Studio Code](https://code.visualstudio.com?WT.mc_id=academic-50029-jelooper), an open source code editor. You will also need the [Jupyter extension](https://marketplace.visualstudio.com/items?itemName=ms-toolsai.jupyter&WT.mc_id=academic-50029-jelooper), which will provide additional functionality when writing Python.
* Use [GitHub Codespaces](https://github.com/features/codespaces). Currently you need to apply for early access to this technology and there may be costs involved in using it, but it works well with Python. * Use [GitHub Codespaces](https://github.com/features/codespaces). Currently you need to apply for early access to this technology and there may be costs involved in using it, but it works well with Python.
* Use **Binder** by clicking on the button at the top of this page. Keep in mind that when using Binder all changes you make to notebooks are not saved by default, and the environment tends to expire after some time - thus it is very easy to lose your work. * Use **Binder** by clicking on the button at the top of this page. Keep in mind that when using Binder all changes you make to notebooks are not saved by default, and the environment tends to expire after some time - thus it is very easy to lose your work.