Created
September 30, 2019 08:26
-
-
Save ronfe/5b3de05d938caf247c8f2ed06484362d to your computer and use it in GitHub Desktop.
merge_101.ipynb
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "nbformat": 4, | |
| "nbformat_minor": 0, | |
| "metadata": { | |
| "colab": { | |
| "name": "merge_101.ipynb", | |
| "provenance": [], | |
| "collapsed_sections": [], | |
| "include_colab_link": true | |
| }, | |
| "kernelspec": { | |
| "name": "python3", | |
| "display_name": "Python 3" | |
| } | |
| }, | |
| "cells": [ | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "view-in-github", | |
| "colab_type": "text" | |
| }, | |
| "source": [ | |
| "<a href=\"https://colab.research.google.com/gist/ronfe/5b3de05d938caf247c8f2ed06484362d/merge_101.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "-tz0eePYL8mx", | |
| "colab_type": "text" | |
| }, | |
| "source": [ | |
| "# 初中数学与计算机融合课程示例\n", | |
| "\n", | |
| "写给教师:\n", | |
| "\n", | |
| "这门课程试图为初中学生提供数学和编程思想。课程基本以初中数学教学序列为序,将数学思想和方法和算法思维融合在编程教育中。加深学生对自己所学数学知识的理解,同时培养学生的编程技能。\n", | |
| "\n", | |
| "这门课程以 Python Notebook 为主要呈现形式,单个 Notebook 设置了讲解和练习环节,讲解环节注重启发式教学,重视激发学生学习兴趣和思考,同时将编程知识和基本编程思想有机结合到讲解环节中。练习环节提供了必要的练习,本课程认为数学和编程均需要通过练习而达到精熟掌握,因此教师需要确保学生能够高质量完成 Notebook 中的练习,同时我们鼓励教师根据学生情况设置难度合理又有启发性的练习方式。\n", | |
| "\n", | |
| "我们推荐一个 Notebook 的完成时间在 45-60 分钟,尽管教材内容已经考虑到学生自学需求,每一个 Notebook 都可以由学生自学完成,但是我们仍建议教师进行必要的讲解,以及及时对学生给予反馈,同时对学生遇到的困难提供帮助。\n", | |
| "\n", | |
| "本课题目为 “加法的意义”。主要面向已经学习过如下内容的七年级学生:\n", | |
| "* 正数和负数\n", | |
| "* 有理数的加法\n", | |
| "\n", | |
| "在本课中,我们着力向学生展示**应将加法理解成一个动态过程**,而不是静态的求总加和。这个思路对之后学生学习如函数、方程乃至在解析几何中计算向量的和差时非常有用。教师在教学过程中应着重强调这一点。\n", | |
| "\n", | |
| "此外,由于七年级学生抽象思维较弱,我们在展示时使用了数轴进行形象化,通过“小圆点的旅程”将动态过程具体展现出来,一方面有利于学生理解加法的实质,另一方面也帮助学生复习数轴及其要素等内容。\n", | |
| "\n" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "vAHijafCRVrL", | |
| "colab_type": "text" | |
| }, | |
| "source": [ | |
| "\n", | |
| "## 1-1 加法的意义\n", | |
| "\n", | |
| "\n", | |
| "小学一年级时我们就学过加法,两个数“相加”的意义似乎是把这两个数“合并”起来——一个苹果“加”一个苹果是两个苹果,三只松鼠“加”五只松鼠等于八只松鼠。然而,在我们学习过《正数与负数》后,“加法”这个看似最简单的数学概念,悄悄发生了变化。" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "7emZ6BFAM29j", | |
| "colab_type": "text" | |
| }, | |
| "source": [ | |
| "### 让我们从小时候学到的加法说起,看看怎样让电脑计算加法!\n", | |
| "\n", | |
| "你可能听说过电脑有一个学名叫做“计算机”,这个名字恰如其分地展示了电脑的功能:计算。毕竟“计算机”就是用来计算的机器嘛! \n", | |
| "\n", | |
| "不错!计算机的主要功能就是“计算”。从这个意义上看电脑只不过比平常使用的计算器更高级一些,复杂一些,但它们本质上是同类的工具。其实我们平时用电脑听音乐、看视频、玩游戏,实际上无一不充满着数字和计算。当你看到这段文字时,就已经身处计算世界之中了!\n", | |
| "\n", | |
| "既然名为计算机,那么加法这么基础和简单的计算当不在话下喽?是的!我们来看看下面的代码:\n", | |
| "\n" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "id": "r1ImAf-JMy0v", | |
| "colab_type": "code", | |
| "colab": { | |
| "base_uri": "https://localhost:8080/", | |
| "height": 34 | |
| }, | |
| "outputId": "d7853ac9-30fe-4dce-d2df-30eea7fa1a8d" | |
| }, | |
| "source": [ | |
| "1+1, 3+5, 62+34" | |
| ], | |
| "execution_count": 2, | |
| "outputs": [ | |
| { | |
| "output_type": "execute_result", | |
| "data": { | |
| "text/plain": [ | |
| "(2, 8, 96)" | |
| ] | |
| }, | |
| "metadata": { | |
| "tags": [] | |
| }, | |
| "execution_count": 2 | |
| } | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "ru5h7JwsPXHn", | |
| "colab_type": "text" | |
| }, | |
| "source": [ | |
| "看,让电脑完成加法就是这么简单,只需要**在英文输入法状态下**直接输入想要计算的加法算式,轻敲回车,就可以得到结果了!" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "jV0rfesmRNRk", | |
| "colab_type": "text" | |
| }, | |
| "source": [ | |
| "> 有关“括号” \n", | |
| "> 你可能已经注意到了,在上面得到的结果中,电脑为我们添上了一对小括号。在 Python 以及其他编程语言里,各种类型的括号会经常使用到。这里的小括号表示我们的代码输出了一个“元组”类型的数据。你现在可不求甚解,直接忽略它。在之后的课程里,我们会渐渐领略到这些括号的价值。" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "6gxGum2RSgW7", | |
| "colab_type": "text" | |
| }, | |
| "source": [ | |
| "那么在下面的代码方框里亲自试试吧!请尝试用 Python 算出\n", | |
| "1. 4+6 \n", | |
| "2. 168+65\n", | |
| "3. 666+666666\n", | |
| "4. 0.1+0.925\n", | |
| "5. 12+123+1234" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "id": "_rzTAib-SefV", | |
| "colab_type": "code", | |
| "colab": { | |
| "base_uri": "https://localhost:8080/", | |
| "height": 34 | |
| }, | |
| "outputId": "3883be91-9737-4442-d248-b98c2677c763" | |
| }, | |
| "source": [ | |
| "## 这里给出了第一题的例子\n", | |
| "4+6" | |
| ], | |
| "execution_count": 3, | |
| "outputs": [ | |
| { | |
| "output_type": "execute_result", | |
| "data": { | |
| "text/plain": [ | |
| "10" | |
| ] | |
| }, | |
| "metadata": { | |
| "tags": [] | |
| }, | |
| "execution_count": 3 | |
| } | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "id": "qCHw0BRUTpxm", | |
| "colab_type": "code", | |
| "colab": {} | |
| }, | |
| "source": [ | |
| "## 在这里把其他的算式计算出来吧!按 Shift + 回车提交" | |
| ], | |
| "execution_count": 0, | |
| "outputs": [] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "XwlxBHZcT7cM", | |
| "colab_type": "text" | |
| }, | |
| "source": [ | |
| "### 两个数相加的和一定比这两个加数都大吗?\n", | |
| "\n", | |
| "在小学课堂上,我们学到的加法似乎有这样一个规律:两个数相加得到的和一定比这两个数都大。例如 1+2=3,3>1 并且 3>2;3+5=8,8>3 并且 8>5。可是,这个规律是否真的成立呢?加法的结果一定比加数还大吗?\n", | |
| "\n", | |
| "或许你已经想到了,这个规律并不一定真的成立,比如当一个数加上零时,得到的结果并不一定比这两个加数都大。来看下面的代码:" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "id": "LY8_-nmrT1bc", | |
| "colab_type": "code", | |
| "colab": { | |
| "base_uri": "https://localhost:8080/", | |
| "height": 34 | |
| }, | |
| "outputId": "1b4381df-637f-4ec1-a760-cadb3dd3a731" | |
| }, | |
| "source": [ | |
| "a = 2+0\n", | |
| "a > 2" | |
| ], | |
| "execution_count": 11, | |
| "outputs": [ | |
| { | |
| "output_type": "execute_result", | |
| "data": { | |
| "text/plain": [ | |
| "False" | |
| ] | |
| }, | |
| "metadata": { | |
| "tags": [] | |
| }, | |
| "execution_count": 11 | |
| } | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "CYcI0YHFVimp", | |
| "colab_type": "text" | |
| }, | |
| "source": [ | |
| "这里我们使用了字母 \"a\" 来表示 2+0 的和,所以 a 的值就是 2 了。在编程语言中,我们曾学过的“用字母表示数” 就可以通过类似第一行的方式来完成,把一个字母放在等号的左边,再把这个字母要表示的数放到等号的右边即可。\n", | |
| "\n", | |
| "请注意哦,这里的“等号”并不表示相等的意思,它表示的是 “a” 这个字母 ***代表*** 了 2+0 的和。大多数编程语言使用 “==” ( ***两个等号*** )表示相等的概念。" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "NApy7WZ6Y1l5", | |
| "colab_type": "text" | |
| }, | |
| "source": [ | |
| "按照刚刚的规律,这里的 a 就应比 2 和 0 都大。果真如此吗?我们可以验证一下。\n", | |
| "\n", | |
| "在第 2 行中,我们用 `a > 2` 来验证,这一行的意思相当于 “`a>2?`“。用人话说,就是“魔镜魔镜告诉我,a>2 是真的吗?”,这时“魔镜”返回了一个 `False`。你可以查一查英语词典,或者搜一搜,False 是什么意思呢?\n", | |
| "\n", | |
| "不错, \"False\" 的意思就是 “假”,a 并不大于 2。但如果如果答案是“真”,魔镜又会返回什么呢?这个简单,我们可以用 a>0 来验证一下:" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "id": "TId-yymdVaIZ", | |
| "colab_type": "code", | |
| "colab": { | |
| "base_uri": "https://localhost:8080/", | |
| "height": 34 | |
| }, | |
| "outputId": "95aa32fe-e501-43e7-c605-aee3caff72e1" | |
| }, | |
| "source": [ | |
| "a > 0" | |
| ], | |
| "execution_count": 12, | |
| "outputs": [ | |
| { | |
| "output_type": "execute_result", | |
| "data": { | |
| "text/plain": [ | |
| "True" | |
| ] | |
| }, | |
| "metadata": { | |
| "tags": [] | |
| }, | |
| "execution_count": 12 | |
| } | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "8LTkFthYY8oX", | |
| "colab_type": "text" | |
| }, | |
| "source": [ | |
| "这一次“魔镜”返回了另一个英文单词 —— True,也就是说,当一句话或一句描述是正确时,魔镜就会输出 True;如果这句话是错误的,就会输出 False。\n", | |
| "\n", | |
| "所以,我们可以让电脑去做判断题,做法很简单,只需要把要电脑判断的问题写出来即可,不需要加语言描述和问号。因为心照,所以不宣。" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "xQCANTCDZybr", | |
| "colab_type": "text" | |
| }, | |
| "source": [ | |
| "同时,我们也证明了小学时得到的 “加法的和一定大于两个加数” 这个结论是 False 的。既然加法的和不一定大于两个加数,那么加法到底是怎样的一种运算呢?别着急,接下来就告诉你!" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "vVxu7dhmbbQM", | |
| "colab_type": "text" | |
| }, | |
| "source": [ | |
| "### “加法”是一次旅程\n", | |
| "\n", | |
| "加法是一个“点”的旅程记录,而数轴就是这旅程的地图。让我们就从这张地图开始讲起。\n", | |
| "\n", | |
| "下面是一个包含 -9 到 9 的数轴。加法可以看作是一个点从原点出发的旅程。在正方向是右的情况下,加一个正数可以看成这个点向右边走,加一个负数当然可以看成这个点向左边走。" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "id": "AIsWC68_Y6Kh", | |
| "colab_type": "code", | |
| "colab": { | |
| "base_uri": "https://localhost:8080/", | |
| "height": 211 | |
| }, | |
| "outputId": "7157fc27-b2ab-4c08-d6e8-2dc42f44ab94" | |
| }, | |
| "source": [ | |
| "### TODO: 将这些功能代码移动到脚本里,这里只 import 对应方法\n", | |
| "from matplotlib import pyplot as plt\n", | |
| "import numpy as np\n", | |
| "\n", | |
| "plt.figure(figsize=(10,3))\n", | |
| "a = [1,2,5,6,9,11,15,17,18]\n", | |
| "\n", | |
| "# plt.hlines(1,1,21) # Draw a horizontal line\n", | |
| "plt.arrow(0,1,20,0, fc='k', ec='k', length_includes_head=True, head_length=0.5, head_width=0.1)\n", | |
| "\n", | |
| "plt.eventplot(a, orientation='horizontal', colors='black', linelength=0)\n", | |
| "plt.scatter(10, 1, s=30, color='black', marker=2)\n", | |
| "for i in range(-9,10):\n", | |
| " xi = i+10\n", | |
| " plt.scatter(xi, 1, s=30, color='black', marker=2)\n", | |
| " plt.annotate(str(i), (xi-0.15,0.85))\n", | |
| "\n", | |
| "plt.axis('off')\n", | |
| "plt.show()" | |
| ], | |
| "execution_count": 125, | |
| "outputs": [ | |
| { | |
| "output_type": "display_data", | |
| "data": { | |
| "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlMAAADCCAYAAABt5EcnAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAADChJREFUeJzt3XuwdWVdB/DvT17wgiik4gW84DAK\nal4QKa9Dt8kL3oqZrMyJstsQYY1FY5PiOM3k2B9MOjFTYOqkMKbSTOYF816UeQMBoQaRDLWw8BJ0\nkVd//bHWGyeCd4LnffaJw+czs+esfd737O9ZZ6+91net9ay9q7sDAMBtc6ft/gUAAG7PlCkAgAHK\nFADAAGUKAGCAMgUAMECZAgAYoEwBAAxQpgAABihTAAADlCkAgAHKFADAAGUKAGCAMgUAMECZAgAY\noEwBAAxQpgAABihTAAADlCkAgAHKFADAAGUKAGCAMgUAMECZAgAYoEwBAAxQpgAABihTAAADlCkA\ngAHKFADAAGUKAGCAMgUAMECZAgAYoEwBAAxQpgAABihTAAADlCkAgAHKFADAAGUKAGCAMgUAMECZ\nAgAYoEwBAAxQpgAABihTAAADlCkAgAHKFADAAGUKAGCAMgUAMECZAgAYoEwBAAxQpgAABihTAAAD\nlCkAgAHKFADAAGUKAGCAMgUAMECZAgAYoEwBAAxQpgAABihTAAADlCkAgAHKFADAAGUKAGCAMgUA\nMECZAgAYoEwBAAxQpgAABihTAAADlCkAgAHKFADAAGUKAGCAMgUAMECZAgAYoEwBAAxQpgAABihT\nAAADlCkAgAHKFADAAGUKAGCAMgUAMECZAgAYoEwBAAxQpgAABihTAAADlCkAgAE7ukxV1Yeq6kPy\n5P1/zNuOzDtA3teq6msbzLPMyJO3zZnbMY83taPLFADAzamqn6+qK6vqd6vqmVV199v6WMoUAHBH\n9PgkRyQ5Ock5Sa6tqs9U1auq6qlVdcD/9YF2zfoNAQBuB+6U5B7r9HcmOTrJLyW5c1V9IsmfJHlf\nd190Sw+wbWWqqn5jAzEP2mCWPHm3h8ydnnfnDedZZuTJ2/7M25p3wi18f1duLFdPTnJsklckOeiW\nHqi6+1Zm7xtVtT3BAAC3UnfXLf3bth2Z2tsvBQAwU1X9QZIX7+W/3JDkP5Lsn+Tje3ssY6YAAJJv\nJ7kuyV2TfDbLWKnzk3y8u2/Y2w8qUwDAHdU316//kOSdSd6d5C+6+/pb8yA7+q0RquqQqjpvvdTx\nb6rqUZPz7llVf1pVF1XVpVV10uS8X62qC9fbJVX1rar6jsmZx695l1bVh2dmbcn7+pb5fPnszDX3\nCVW1u6pOnJzz3HX5vLCqPlFVT5mc9+Nr3sVVdUFVPWZy3lFV9VdV9Z9V9dLJWU+vqr+tqiuq6tcn\nZ72+qq6pqktm5mzJe2BVfbCqPru+9k6dnHeXdZ25Z132ypl5W3L3q6pPV9U7N5R31fpauHC9amt2\n3sFV9baquryqLquqJ07MeviW9eaFVfWNqnrJrLw185fX5eWSqjqnqu4yOe/UNevS2zhvr0zywiSH\ndfeR3f2S7n7vrS1SSZLu3rG3JK9J8op1+qgk75+c97Ikr16n75Pk2iQHbGhen53kA5MzDs5y6PNB\n6/1DNzBfxyd554aXm/2SfCDJu5KcODnr7rnxQpBHJ7l8ct6TkhyyTj8jyccm5x2a5AlJfivJSyc/\nZ59L8tAkByS5KMkjJuY9LckxSS6Z+ffbknf/JMes0wcl+bvJ81dJ7r5O75/kY0m+ewPz+StJ3rKp\n13ySq5LcexNZa94bk7x4nT4gycEbyt0vyT8mefDEjMOSfD7JXdf7b03ykxPzHpXkkiR3y3KW7c+T\nHLmp5/Kmtx19ZCrJI7JsFNPdlyd5SFXdd2JeJzmoqirLRvLaJLsn5m31o1nedGymH0vyju7+QpJ0\n9zWT87bLKUnenmT6/HX3db2uGZIcmGUZmpl3QXd/db3710kOn5x3TXd/PMtAzpmOS3JFd1/Z3d9M\ncm6S584K6+6PZHl9b0R3f7m7P7VO/2uSy7JsvGbldXdft97df71NXTar6vAkz0py1syc7VJV98xS\nws9Oku7+Zndv6qOPvi/J57r77yfn7Epy16ralaXkfGli1tFZdgb/rbt3J/lwkh+amLdXO71MXZT1\nj1tVxyV5cOZuPF6X5Qn+UpKLk5za3d+emJckqaq7JXl6lgIw08OSHLJ+DtInq+pFk/P2eOJ6uuHd\nVfXImUFVdViS5yc5c2bOTTKfX1WXJ/mzJD+1qdwkP51lfMBOcFiWMQ97XJ2JZWM7VdVDkjwuy9Gi\nmTn7VdWFWXYq3tfdU/OSnJHk17IMAt6UTnL+uj772clZRyT5SpI/XE9lnlVVB07O3OMFmbyz3d1f\nTPI7Sb6Q5MtJvt7d50+MvCTJU6vqXus28JlJHjgxb692epn67SQHryuEU5J8Osm3Jub9YJILkzwg\nyWOTvK6q7rH3H9knnp3kL7t79p7yrixvv/+sLPP6m1X1sMmZn8pyaPoxSV6b5eqKmc5IctomSvAe\n3X1edx+V5HlJXrWJzKr6nixl6rRN5LFv1PLZYW9P8pLu/sbMrO7+Vnc/NssO6HEzx5xW1QlJrunu\nT87KuAVP6e5jspzyPrmqnjYxa1eWU8NndvfjklyfZOrYviSp5SNRnpPkjyfnHJLlaPARWbaBB1bV\nC2fldfdlSV6d5Wq792TZ9s7cvu/VjitTVXXyngF3Wc75n7SuEF6UZRzTlRPzTs5yGqy7+4os54+P\nmpVXVQ9Yvz1tr+Mm8/elJO/t7uu7+5+TfCTJPh/AfDPP4XVJ0t3vSrJ/Vd17Yt6xSc6tqquSnJjk\n96rqebPytjyHe04dPXTm/FXVA6rq0VlOpTy3u/9lX2bdXN6+fvxb8MX8z73Sw9fv7RhVtX+WIvXm\n7n7HpnLXU1EfzHL0e5YnJ3nO+ro7N8n3VtUfTcxL8t9HU/YMWTgvy+niWa5OcvWWI3xvy1KuZntG\nkk919z9Nzvn+JJ/v7q/08jYC78gyRnOa7j67ux/f3U9L8tUsYwm3x3YN1trELcuA6QPW6Z9J8qbJ\neWcmOX2dvm+WlfnUwY1J7pll7MaBG/h7Hp3k/Vn2sO6W5TDroyZn3i83DtA+Lssh5NrQ8vOGzB+A\nfuSW+TtmXWamzV+Wj124IsmTNvE33JJ7euYOQN+VZUfpiNw4AP2Rk+fpIdncAPRK8qYkZ2wo7z5Z\nB0dnec+djyY5YUPZx2cDA9CzjFE8aMv0BUmePjnzo0kevk6fnuQ1G5jPc5OctIGc70py6bptqCyD\n7U+ZnHno+vVBSS7Phgb039xtp7/P1NFJ3ljLR9dcmuW0xkyvSvKGqro4y8J0Wi9HcGZ6fpLz+7Zc\nynkrdfdlVfWeJJ/JMq7hrO6efWn4iUl+oap2J/n3JC/o9dWzQ/xwkhdV1Q1Z5u9HJs/fy5PcK8sR\ntyTZ3d3Hzgqrqvsl+USWz7n69nr58iN6H5+i6u7dVfWLSd6b5cql13f3pfsyY6uqOifLRv/eVXV1\nlquGz56Vl+XIzU8kuXg9gpokL+vlaO0M98+y7twvyxmMt3b3Rt6uYIPum+S89XWwK8lbuvs9kzNP\nSfLm9dTblUlmv33OgUl+IMnPzcxJku7+WFW9LcvQjN1ZhtX8/uTYt1fVvbJc4HJyb25A//+ybZ/N\nBwCwE+y4MVMAAJukTAEADFCmAAAGKFMAAAOUKQCAAcoUAMAAZQoAYIAyBQAwQJkCABigTAEADFCm\nAAAGKFMAAAOUKQCAAcoUAMAAZQoAYIAyBQAwQJkCABigTAEADFCmAAAGKFMAAAOUKQCAAcoUAMAA\nZQoAYIAyBQAwQJkCABigTAEADFCmAAAGKFMAAAOUKQCAAcoUAMAAZQoAYIAyBQAwQJkCABigTAEA\nDFCmAAAGKFMAAAOUKQCAAcoUAMAAZQoAYIAyBQAwQJkCABigTAEADFCmAAAGKFMAAAOUKQCAAcoU\nAMAAZQoAYIAyBQAwQJkCABigTAEADFCmAAAGKFMAAAOUKQCAAcoUAMAAZQoAYIAyBQAwQJkCABig\nTAEADFCmAAAGKFMAAAOUKQCAAcoUAMAAZQoAYIAyBQAwQJkCABigTAEADFCmAAAGKFMAAAOUKQCA\nAcoUAMAAZQoAYIAyBQAwQJkCABigTAEADFCmAAAGKFMAAAOUKQCAAcoUAMAAZQoAYIAyBQAwQJkC\nABigTAEADFCmAAAGKFMAAAOUKQCAAcoUAMAAZQoAYIAyBQAwQJkCABigTAEADFCmAAAGKFMAAAOU\nKQCAAf8FVsPBaUQ8r7wAAAAASUVORK5CYII=\n", | |
| "text/plain": [ | |
| "<Figure size 720x216 with 1 Axes>" | |
| ] | |
| }, | |
| "metadata": { | |
| "tags": [] | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "mWMQlItY4a5m", | |
| "colab_type": "text" | |
| }, | |
| "source": [ | |
| "例如 “3+5”,就是一个点第一天从原点出发,向右边走了3个单位,到达了第3点的位置;第二天再从第3点出发,向右边走了5个单位。如下图所示:" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "id": "ffU6slu8cWj-", | |
| "colab_type": "code", | |
| "colab": { | |
| "base_uri": "https://localhost:8080/", | |
| "height": 211 | |
| }, | |
| "outputId": "f3e5e5fc-3025-4b0f-bc5b-a74cc987bb82" | |
| }, | |
| "source": [ | |
| "from matplotlib.font_manager import FontProperties\n", | |
| "\n", | |
| "font_path = '/usr/share/fonts/truetype/NotoSansCJKsc-Medium.otf'\n", | |
| "ChineseFont = FontProperties(fname=font_path)\n", | |
| "\n", | |
| "plt.figure(figsize=(10,3))\n", | |
| "a = [1,2,5,6,9,11,15,17,18]\n", | |
| "\n", | |
| "# plt.hlines(1,1,21) # Draw a horizontal line\n", | |
| "plt.arrow(0,1,20,0, fc='k', ec='k', length_includes_head=True, head_length=0.5, head_width=0.1)\n", | |
| "\n", | |
| "## TODO: 箭头形状\n", | |
| "plt.eventplot(a, orientation='horizontal', colors='black', linelength=0)\n", | |
| "plt.scatter(10, 1, s=30, color='black', marker=2)\n", | |
| "for i in range(-9,10):\n", | |
| " xi = i+10\n", | |
| " plt.scatter(xi, 1, s=30, color='black', marker=2)\n", | |
| " plt.annotate(str(i), (xi-0.15,0.85))\n", | |
| "\n", | |
| "plt.scatter(10,1,s=80,color='red')\n", | |
| "plt.arrow(10,1,3,0, fc='b', ec='b', length_includes_head=True, head_width=0.1)\n", | |
| "plt.annotate('向右移动3个单位,\\n 到达3。', (10,0.5), fontproperties=ChineseFont)\n", | |
| "\n", | |
| "plt.scatter(13,1,s=80,color='red')\n", | |
| "plt.arrow(13,1,5,0, fc='orange', ec='orange', length_includes_head=True, head_width=0.1)\n", | |
| "plt.annotate('再向右移动5个单位,\\n 到达8。', (13.5,0.5), fontproperties=ChineseFont)\n", | |
| "\n", | |
| "plt.scatter(18,1,s=80,color='red')\n", | |
| "\n", | |
| "plt.axis('off')\n", | |
| "plt.show()" | |
| ], | |
| "execution_count": 143, | |
| "outputs": [ | |
| { | |
| "output_type": "display_data", | |
| "data": { | |
| "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlMAAADCCAYAAABt5EcnAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAFxdJREFUeJzt3XmYHFW5x/Hvmw2ExICsElAQlM0l\nAQRR8cEFcUHc8MpFRVTEBXiCirIoCIqKF6+ioqiAgigogtErgsQFRMWLIgRJJF4QEBAEo5gQxIQk\n7/3j1JhmmBkmOVM9TvP9PE8/09NT029Vn56u31SdOicyE0mSJK2ecaO9ApIkSWOZYUqSJKmCYUqS\nJKmCYUqSJKmCYUqSJKmCYUqSJKmCYUqSJKmCYUqSJKmCYUqSJKmCYUqSJKmCYUqSJKmCYUqSJKmC\nYUqSJKmCYUqSJKmCYUqSJKmCYUqSJKmCYUqSJKmCYUqSJKmCYUqSJKmCYUqSJKmCYUqSJKmCYUqS\nJKmCYUqSJKmCYUqSJKmCYUqSJKmCYUqSJKmCYUqSJKmCYUqSJKmCYUqSJKmCYUqSJKmCYUqSJKmC\nYUqSJKmCYUqSJKmCYUqSJKmCYUqSJKmCYUqSJKmCYUqSJKmCYUqSJKmCYUqSJKmCYUqSJKmCYUqS\nJKmCYUqSJKmCYUqSJKmCYUqSJKmCYUqSJKmCYUqSJKmCYUqSJKmCYUqSJKmCYUqSJKmCYUqSJKmC\nYUqSJKmCYUqSJKmCYUqSJKmCYUqSJKmCYUqSJKmCYUqSJKmCYUqSJKmCYUqSJKmCYUqSJKmCYUqS\nJKmCYUqSJKmCYUqSJKmCYUqSJKmCYUqSJKmCYUqSJKmCYUqSJKmCYUqSJKmCYUqSJKmCYUqSJKmC\nYUqSJKmCYUqSJKmCYUqSJKmCYUqSJKmCYUqSJKmCYUqSJKmCYUqSJKmCYUqSJKmCYUqSJKmCYUqS\nJKmCYUqSJKmCYUqSJKmCYUqSJKlCT4epiLgsIi6znvX+HeuNRs2erhcx5c0R9x0dcT8R+xMxpf2S\nPf6eiZhyWMT1J0b8oVdfU+uNeMGef88MpKfDlKRHgIgg4kjgrs/AWsfDmsDngLuIOJKIGOU1HFMi\nmDUuVryw7zX9KDzxPbAFvqYayDnxKM6J73N27DLW3jMR8faIuCkiPhMRL4mIyav7XBNGcsUkaRQc\n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\nsu96QkQ8B9iCcrpwHLaFRolhSlJPiohJEXFURFxGmSLkVMoUJn2fe+Oa5SZTJh0+AXgb5dTTGlGs\nDfwWeDxlBz0BuAr4OuXIxy+B9Smhai5lAlv1M9Jt0YSymc2y11BC1znYFholjoAuqSc1p3/OpISf\nnwO/zczlzc/OpwxxcABl3KO9M/NDEbEN8OHmZ5MpR1H+CXw3M987SJ3NgW8CS4G97LfzULaFep1h\nStIj3kjNA6d6toXGIsOUJElSBftMSZIkVTBMSZIkVTBMSZIkVTBMSZIkVTBMSZIkVTBMSZIkVTBM\nSZIkVTBMSZIkVTBMSZIkVTBMSZIkVTBMSZIkVTBMSZIkVTBMSZIkVTBMSZIkVTBMSZIkVTBMSZIk\nVTBMSZIkVTBMSZIkVTBMSZIkVTBMSZIkVTBMSZIkVTBMSZIkVTBMSZIkVTBMSZIkVTBMSZIkVTBM\nSZIkVTBMSZIkVTBMSZIkVTBMSZIkVTBMSZIkVTBMSZIkVTBMSZIkVTBMSZIkVTBMSZIkVTBMSZIk\nVTBMSZIkVTBMSZIkVTBMSZIkVTBMSZIkVTBMSZIkVTBMSZIkVTBMSZIkVTBMSZIkVTBMSZIkVTBM\nSZIkVTBMSZIkVTBMSZIkVTBMSZIkVTBMSZIkVTBMSZIkVTBMSZIkVTBMSZIkVTBMSZIkVTBMSZIk\nVTBMSZIkVTBMSZIkVTBMSZIkVTBMSZIkVTBMSZIkVTBMSZIkVTBMSZIkVTBMSZIkVTBMSZIkVTBM\nSZIkVTBMSZIkVfh/9FX5QBdirBsAAAAASUVORK5CYII=\n", | |
| "text/plain": [ | |
| "<Figure size 720x216 with 1 Axes>" | |
| ] | |
| }, | |
| "metadata": { | |
| "tags": [] | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "QEeh3o5f8qkg", | |
| "colab_type": "text" | |
| }, | |
| "source": [ | |
| "类似地,“3+(-5)” 就可以看成是这个点第一天从原点出发,向右进发 3 个单位,到达位置 3;第二天再从位置 3 出发,向左走了 5 个单位,到达位置 -5。如下图:" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "id": "QK1-3bp57kFu", | |
| "colab_type": "code", | |
| "colab": { | |
| "base_uri": "https://localhost:8080/", | |
| "height": 211 | |
| }, | |
| "outputId": "157e5f6b-1601-47ea-c6fa-e8e0e9c74ebd" | |
| }, | |
| "source": [ | |
| "from matplotlib.font_manager import FontProperties\n", | |
| "\n", | |
| "font_path = '/usr/share/fonts/truetype/NotoSansCJKsc-Medium.otf'\n", | |
| "ChineseFont = FontProperties(fname=font_path)\n", | |
| "\n", | |
| "plt.figure(figsize=(10,3))\n", | |
| "a = [1,2,5,6,9,11,15,17,18]\n", | |
| "\n", | |
| "# plt.hlines(1,1,21) # Draw a horizontal line\n", | |
| "plt.arrow(0,1,20,0, fc='k', ec='k', length_includes_head=True, head_length=0.5, head_width=0.1)\n", | |
| "\n", | |
| "plt.eventplot(a, orientation='horizontal', colors='black', linelength=0)\n", | |
| "plt.scatter(10, 1, s=30, color='black', marker=2)\n", | |
| "for i in range(-9,10):\n", | |
| " xi = i+10\n", | |
| " plt.scatter(xi, 1, s=30, color='black', marker=2)\n", | |
| " plt.annotate(str(i), (xi-0.15,0.85))\n", | |
| "\n", | |
| "plt.scatter(10,1,s=80,color='red')\n", | |
| "plt.arrow(10,1,3,0, fc='b', ec='b', length_includes_head=True, head_width=0.1)\n", | |
| "plt.annotate('向右移动3个单位,\\n 到达3。', (10,0.5), fontproperties=ChineseFont)\n", | |
| "\n", | |
| "plt.scatter(13,1,s=80,color='red')\n", | |
| "plt.arrow(13,1.2,-5,0, fc='orange', ec='orange', length_includes_head=True, head_width=0.1)\n", | |
| "plt.annotate('再向左移动5个单位,\\n 到达-2。', (9,1.3), fontproperties=ChineseFont)\n", | |
| "\n", | |
| "plt.scatter(8,1,s=80,color='red')\n", | |
| "\n", | |
| "plt.axis('off')\n", | |
| "plt.show()" | |
| ], | |
| "execution_count": 146, | |
| "outputs": [ | |
| { | |
| "output_type": "display_data", | |
| "data": { | |
| "image/png": "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\neAAAAABJRU5ErkJggg==\n", | |
| "text/plain": [ | |
| "<Figure size 720x216 with 1 Axes>" | |
| ] | |
| }, | |
| "metadata": { | |
| "tags": [] | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "NyqHZQ8c_HQ_", | |
| "colab_type": "text" | |
| }, | |
| "source": [ | |
| "接下来,请你来设计一条路径,在我们的数轴范围内,让小圆点从原点出发, **经过 3 天的旅程到达位置 -3**,下面给出了一个范例:" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "id": "OrmxSwkYCe6q", | |
| "colab_type": "code", | |
| "colab": { | |
| "base_uri": "https://localhost:8080/", | |
| "height": 276 | |
| }, | |
| "outputId": "cdab126f-1645-47bc-8927-defcdfe0c46a" | |
| }, | |
| "source": [ | |
| "\n", | |
| "def dot_travel(steps):\n", | |
| " x = 0\n", | |
| " formula = list()\n", | |
| " font_path = '/usr/share/fonts/truetype/NotoSansCJKsc-Medium.otf'\n", | |
| " ChineseFont = FontProperties(fname=font_path)\n", | |
| "\n", | |
| " plt.figure(figsize=(10,3))\n", | |
| " a = [1,2,5,6,9,11,15,17,18]\n", | |
| "\n", | |
| " # Draw axis\n", | |
| " plt.arrow(0,1,20,0, fc='k', ec='k', length_includes_head=True, head_length=0.5, head_width=0.1)\n", | |
| " plt.eventplot(a, orientation='horizontal', colors='black', linelength=0)\n", | |
| " plt.scatter(10, 1, s=30, color='black', marker=2)\n", | |
| " for i in range(-9,10):\n", | |
| " xi = i+10\n", | |
| " plt.scatter(xi, 1, s=30, color='black', marker=2)\n", | |
| " plt.annotate(str(i), (xi-0.15,0.85))\n", | |
| "\n", | |
| "\n", | |
| " plt.scatter(10,1,s=80,color='red')\n", | |
| " offset = 1.\n", | |
| " for direction, unit in steps:\n", | |
| " vector = unit\n", | |
| " dir_label = '右'\n", | |
| " if direction == 'L':\n", | |
| " vector *= -1\n", | |
| " dir_label = '左'\n", | |
| " formula.append(\"({})\".format(vector))\n", | |
| " else:\n", | |
| " formula.append(str(vector))\n", | |
| "\n", | |
| " \n", | |
| " plt.arrow(10+x,offset,vector,0, fc='b', ec='b', length_includes_head=True, head_width=0.1)\n", | |
| " \n", | |
| " offset += 0.2\n", | |
| " x += vector\n", | |
| "\n", | |
| " t = x + 5.5\n", | |
| " if direction == 'L':\n", | |
| " t = x + 10\n", | |
| " plt.annotate('向{}移动{}个单位,\\n 到达{}。'.format(dir_label, unit, x), (t,offset), fontproperties=ChineseFont)\n", | |
| " \n", | |
| " plt.scatter(10+x,1,s=80,color='red')\n", | |
| " offset += 0.1\n", | |
| "\n", | |
| " plt.axis('off')\n", | |
| " plt.show()\n", | |
| " formula = \" + \".join(formula)\n", | |
| " return \"{} = {}\".format(formula, x)\n", | |
| "\n", | |
| "\n", | |
| "### 范例\n", | |
| "steps = [\n", | |
| " (\"R\", 5), # 第一天,先向右(R)移动 5 个单位\n", | |
| " (\"L\", 6), # 第二天,再向左(L)移动 6 个单位\n", | |
| " (\"L\", 2), # 第三天,再向左(L)移动 1 个单位\n", | |
| "]\n", | |
| "\n", | |
| "print(dot_travel(steps))" | |
| ], | |
| "execution_count": 192, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "text": [ | |
| "/usr/local/lib/python3.6/dist-packages/matplotlib/figure.py:2369: UserWarning: This figure includes Axes that are not compatible with tight_layout, so results might be incorrect.\n", | |
| " warnings.warn(\"This figure includes Axes that are not compatible \"\n" | |
| ], | |
| "name": "stderr" | |
| }, | |
| { | |
| "output_type": "display_data", | |
| "data": { | |
| "image/png": "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\nVnaVy02ilAh12n3AfY3W/PN4ZVMSLyq7AVMy86GWzv924C+Z+bfMfBH4b+DNbQRSh1vbKjN3BB6n\n/emuX650zl46bsCKwOB6/yBKB5M24jid0skIYDXKh9wqLcUyglJLOKzl383GwBWU//iHUr6CeUML\ncYxiTufVbShfRUXL1+aHwF6gsitpAAAEKklEQVQtnXv9xvXYsr5WO349gLWAO4A3t/m7aMTzZUpn\nzk6ecyDlH/p1gMGUkrHXt3gNXgtMbfn3EJThnf6j5ThWBVas95cDfg2MazmmnYALWzr3MGD5xv2u\nDthtxPJrYMN6/8vAyS3+Ts4F9m/x/NsCt9TP2ADOAg5tKZaR9edawLSuv5/+dFvaxkHeGDgrIpLy\nIvloS3F8FfhhRNxMeZF+Ptvr6fs+YHJmzpjvlotRZt4aEZcCN1Fq58ZnZhtDSO0FfDIiZgLPAvtk\n/SteSn0A+HBEvEi5Hnu3dD2+CKxMaUkHmJmZW3c6iIgYBfwBWAF4qQ5PtEl24Gv9zJwZEYdQZoIa\nQBnZ5JbFfd6eRMQ5lARslYi4D/hSZp7ZQihvAf4JuLl+8wJwdJZvfzppdcpnywDKN7MTMrOjQ6z1\nM6sBk+rf6kDgp5nZ46whHXAocHYtb7gLaGtY1WGUEWg+3sb5ATLz2og4j1JKOJNSZvpfLYUzMSJW\npnR4Pjjb7zz5MkvVMG+SJEnS/CzxNciSJElSX5ggS5IkSQ0myJIkSVKDCbIkSZLUYIIsSZIkNZgg\nS5IkSQ0myJIkSVKDCbIkSZLUYIIsSZIkNZggS5IkSQ0myJIkSVKDCbIkSZLUYIIsSZIkNZggS5Ik\nSQ0myJIkSVKDCbIkSZLUYIIsSZIkNZggS5IkSQ0myJIkSVKDCbIkSZLUYIIsSZIkNZggS5IkSQ0m\nyJIkSVKDCbIkSZLUYIIsSZIkNZggS5IkSQ0myJIkSVKDCbIkSZLUYIIsSZIkNZggS5IkSQ0myJIk\nSVKDCbIkSZLUYIIsSZIkNZggS5IkSQ0myJIkSVKDCbIkSZLUYIIsSZIkNZggS5IkSQ0myJIkSVKD\nCbIkSZLUYIIsSZIkNZggS5IkSQ0myJIkSVKDCbIkSZLUYIIsSZIkNZggS5IkSQ0myJIkSVKDCbIk\nSZLUYIIsSZIkNZggS5IkSQ0myJIkSVKDCbIkSZLUYIIsSZIkNZggS5IkSQ0myJIkSVKDCbIkSZLU\nYIIsSZIkNZggS5IkSQ0myJIkSVKDCbIkSZLUYIIsSZIkNZggS5IkSQ0myJIkSVKDCbIkSZLUYIIs\nSZIkNZggS5IkSQ0myJIkSVKDCbIkSZLUYIIsSZIkNZggS5IkSQ0myJIkSVKDCbIkSZLUYIIsSZIk\nNZggS5IkSQ0myJIkSVKDCbIkSZLUYIIsSZIkNZggS5IkSQ0myJIkSVKDCbIkSZLUYIIsSZIkNZgg\nS5IkSQ0myJIkSVKDCbIkSZLUYIIsSZIkNZggS5IkSQ0myJIkSVKDCbIkSZLUYIIsSZIkNZggS5Ik\nSQ0myJIkSVKDCbIkSZLUYIIsSZIkNZggS5IkSQ0myJIkSVKDCbIkSZLUYIIsSZIkNZggS5IkSQ0m\nyJIkSVLD/wOFVv4qi2x8EQAAAABJRU5ErkJggg==\n", | |
| "text/plain": [ | |
| "<Figure size 720x216 with 1 Axes>" | |
| ] | |
| }, | |
| "metadata": { | |
| "tags": [] | |
| } | |
| }, | |
| { | |
| "output_type": "stream", | |
| "text": [ | |
| "5 + (-6) + (-2) = -3\n" | |
| ], | |
| "name": "stdout" | |
| } | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "pgBGAWzrKCKX", | |
| "colab_type": "text" | |
| }, | |
| "source": [ | |
| "在上面的代码中,我们首先写了一个 **列表**,并给它起名叫做 “`steps`”。Python 中可以通过一对中括号来制造一个列表,在列表中我们可以**按顺序地放置任何我们想放的东西**,例如在这个列表中,我们就放置了这三点的旅程计划。\n", | |
| "\n", | |
| "在 `steps` 里,我们又生成了三个小列表,每个小列表中又先放置了小圆点的移动方向(向左为 \"L\" (英文 Left),向右为 \"R\" (英文为 Right)),再放置移动的长度。这样,一个完整的旅行计划就写好啦!\n", | |
| "\n", | |
| "最后,我们把 `steps`放到 `dot_travel` 这个函数(在数学和编程中,函数的概念都非常重要,有关“数学的函数”以及“编程的函数”会在八年级的课程中学习到)里,就可以看到地图啦!\n", | |
| "\n", | |
| "现在该你了!请再设计一条路径,能够让小圆点从原点出发, 经过 3 天的旅程到达位置 -3。" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "id": "7-SOKKF3MmDm", | |
| "colab_type": "code", | |
| "colab": {} | |
| }, | |
| "source": [ | |
| "### 在这里补充 steps 的内容\n", | |
| "### 使得小圆点可以通过三天的时间从原点到达 -3 点\n", | |
| "\n", | |
| "### 补充时请注意观察范例代码中列表的格式细节哟\n", | |
| "steps = \n", | |
| "\n", | |
| "print(dot_travel(steps))" | |
| ], | |
| "execution_count": 0, | |
| "outputs": [] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "v0nptLOtBWUQ", | |
| "colab_type": "text" | |
| }, | |
| "source": [ | |
| "### 旅行的意义" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "V9xcG9qUBox1", | |
| "colab_type": "text" | |
| }, | |
| "source": [ | |
| "这样看来,两个数的 “和”就可以看作是这个小红点经过多日的旅行后,最终到达的位置。\n", | |
| "\n", | |
| "把加法理解成旅行有什么好处?旅行的意义是什么呢?我们通过一道题目来感受一番。\n", | |
| "\n", | |
| "(未完待续)" | |
| ] | |
| } | |
| ] | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment