diff --git a/1. Python 安装及基本语法.ipynb b/1. Python 安装及基本语法.ipynb index da1185c..72e4da8 100644 --- a/1. Python 安装及基本语法.ipynb +++ b/1. Python 安装及基本语法.ipynb @@ -197,64 +197,31 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "source": [ "## 2 表示 整数(integer) 2\n", "type(2)" ], - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "int" - ] - }, - "metadata": {}, - "execution_count": 6 - } - ], + "outputs": [], "metadata": {} }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "source": [ "## 2.333 与 1e-9 表示对应浮点数(float)\n", "type(2.33)" ], - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "float" - ] - }, - "metadata": {}, - "execution_count": 7 - } - ], + "outputs": [], "metadata": {} }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "source": [ "type(1e-9)" ], - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "float" - ] - }, - "metadata": {}, - "execution_count": 8 - } - ], + "outputs": [], "metadata": {} }, { @@ -281,7 +248,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 11, "source": [ "## True 代表逻辑值(Boolen)\n", "type(True)" @@ -295,7 +262,28 @@ ] }, "metadata": {}, - "execution_count": 24 + "execution_count": 11 + } + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 12, + "source": [ + "\n", + "type(False)" + ], + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "bool" + ] + }, + "metadata": {}, + "execution_count": 12 } ], "metadata": {} @@ -312,13 +300,13 @@ "source": [ "与常量相反,变量可以存储不同的值以表示不同的内容,并且它的值可以被更改。变量通过赋值符号 = 创建,例如variable = 1。\n", "\n", - "注意变量存在命名规范。变量的第一个字符必须是字母,其余部分由下划线或数字组成,且区分大小写。例如 a_123 可以是一个变量,123_a 不可以是一个变量,A_123 与 a_123 表示两个不同变量。" + "注意变量存在命名规范。变量的第一个字符必须是字母或下划线,其余部分由下划线或数字组成,且区分大小写。例如 a_123 可以是一个变量,123_a 不可以是一个变量,A_123 与 a_123 表示两个不同变量。" ], "metadata": {} }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 13, "source": [ "## 创建名为 variable 的变量存储一个 整数 值\n", "\n", @@ -334,7 +322,7 @@ ] }, "metadata": {}, - "execution_count": 14 + "execution_count": 13 } ], "metadata": {} @@ -364,7 +352,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 16, "source": [ "## 常量的值无法修改 触发语法错误提示\n", "\n", @@ -374,9 +362,9 @@ { "output_type": "error", "ename": "SyntaxError", - "evalue": "cannot assign to literal (, line 3)", + "evalue": "cannot assign to literal (, line 3)", "traceback": [ - "\u001b[0;36m File \u001b[0;32m\"\"\u001b[0;36m, line \u001b[0;32m3\u001b[0m\n\u001b[0;31m 2.33 = 2.55\u001b[0m\n\u001b[0m ^\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m cannot assign to literal\n" + "\u001b[0;36m File \u001b[0;32m\"\"\u001b[0;36m, line \u001b[0;32m3\u001b[0m\n\u001b[0;31m 2.33 = 2.55\u001b[0m\n\u001b[0m ^\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m cannot assign to literal\n" ] } ], @@ -384,7 +372,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 17, "source": [ "## 变量的命名不满足规范 触发语法错误提示\n", "\n", @@ -394,9 +382,9 @@ { "output_type": "error", "ename": "SyntaxError", - "evalue": "invalid decimal literal (, line 3)", + "evalue": "invalid decimal literal (, line 3)", "traceback": [ - "\u001b[0;36m File \u001b[0;32m\"\"\u001b[0;36m, line \u001b[0;32m3\u001b[0m\n\u001b[0;31m 123_a = 1\u001b[0m\n\u001b[0m ^\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m invalid decimal literal\n" + "\u001b[0;36m File \u001b[0;32m\"\"\u001b[0;36m, line \u001b[0;32m3\u001b[0m\n\u001b[0;31m 123_a = 1\u001b[0m\n\u001b[0m ^\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m invalid decimal literal\n" ] } ], @@ -473,14 +461,14 @@ "例如:\n", "\n", " 输入:2,3,7,11,15, target = 13\n", - " 输出:2,7\n", - " 解释:第0个数和第2个数的和为13 (注:编程时我们习惯从第0个开始数)" + " 输出:2,11\n", + " 解释:第0个数和第3个数的和为13 (注:编程时我们习惯从第0个开始数)" ], "metadata": {} }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 29, "source": [ "## 尝试求解,改变 a b 的值依次两两尝试,直到 a + b = target\n", "\n", @@ -498,14 +486,14 @@ ] }, "metadata": {}, - "execution_count": 36 + "execution_count": 29 } ], "metadata": {} }, { "cell_type": "code", - "execution_count": 37, + "execution_count": 30, "source": [ "a = 2\n", "b = 7\n", @@ -520,14 +508,14 @@ ] }, "metadata": {}, - "execution_count": 37 + "execution_count": 30 } ], "metadata": {} }, { "cell_type": "code", - "execution_count": 38, + "execution_count": 31, "source": [ "a = 2\n", "b = 11\n", @@ -542,14 +530,14 @@ ] }, "metadata": {}, - "execution_count": 38 + "execution_count": 31 } ], "metadata": {} }, { "cell_type": "code", - "execution_count": 39, + "execution_count": 32, "source": [ "a,b" ], @@ -562,7 +550,7 @@ ] }, "metadata": {}, - "execution_count": 39 + "execution_count": 32 } ], "metadata": {} @@ -601,7 +589,7 @@ }, { "cell_type": "code", - "execution_count": 62, + "execution_count": 33, "source": [ "## 自动输出最后的 target\n", "\n", @@ -617,14 +605,14 @@ ] }, "metadata": {}, - "execution_count": 62 + "execution_count": 33 } ], "metadata": {} }, { "cell_type": "code", - "execution_count": 63, + "execution_count": 34, "source": [ "## 自动输出最后的 variable\n", "\n", @@ -640,7 +628,7 @@ ] }, "metadata": {}, - "execution_count": 63 + "execution_count": 34 } ], "metadata": {} @@ -654,7 +642,7 @@ }, { "cell_type": "code", - "execution_count": 65, + "execution_count": 36, "source": [ "## num1,num2 是输入的参数, return 后面的 a+b==target 是函数的结果\n", "\n", @@ -686,7 +674,7 @@ }, { "cell_type": "code", - "execution_count": 66, + "execution_count": 37, "source": [ "## 这里 2,3,13 是实参,函数返回结果 False\n", "\n", @@ -725,11 +713,11 @@ }, { "cell_type": "code", - "execution_count": 67, + "execution_count": 38, "source": [ "## 尝试在函数外部使用变量 num1,系统报错 num1 未定义\n", "\n", - "num1" + "print(num1)" ], "outputs": [ { @@ -739,7 +727,7 @@ "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;31m## 尝试在函数外部使用变量 num1,系统报错 num1 未定义\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m \u001b[0mnum1\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;31m## 尝试在函数外部使用变量 num1,系统报错 num1 未定义\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnum1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;31mNameError\u001b[0m: name 'num1' is not defined" ] } @@ -748,7 +736,7 @@ }, { "cell_type": "code", - "execution_count": 68, + "execution_count": 39, "source": [ "## 尝试重新定义函数 check_sum, 此时函数参数中已不存在target\n", "\n", @@ -763,7 +751,7 @@ }, { "cell_type": "code", - "execution_count": 71, + "execution_count": 40, "source": [ "print(check_sum(2, 3))\n", "\n", @@ -801,7 +789,7 @@ { "cell_type": "markdown", "source": [ - "通过控制符与函数,我们可以操作变量完成简单的任务。然而本质上我们还在把 Python 当作一个计算器使用,而不是一个可以实现自动化的编程语言,每行代码按照自上而下的顺序依次执行。通过控制流,我们可以让程序自动判断逻辑,自动跳转到某个位置,从而实现自动控制。\n", + "通过运算符与函数,我们可以操作变量完成简单的任务。然而本质上我们还在把 Python 当作一个计算器使用,而不是一个可以实现自动化的编程语言,每行代码按照自上而下的顺序依次执行。通过控制流,我们可以让程序自动判断逻辑,自动跳转到某个位置,从而实现自动控制。\n", "\n", "控制流中涉及几个关键字:\n", "\n", @@ -831,7 +819,7 @@ }, { "cell_type": "code", - "execution_count": 76, + "execution_count": 41, "source": [ "## while 循环语句样例\n", "\n", @@ -886,7 +874,7 @@ }, { "cell_type": "code", - "execution_count": 77, + "execution_count": 42, "source": [ "## for-in 循环语句样例\n", "\n", @@ -917,7 +905,7 @@ }, { "cell_type": "code", - "execution_count": 81, + "execution_count": 43, "source": [ "## 依次迭代元素 a,一共迭代 5 次\n", "for a in [2,3,7,11,15]:\n", @@ -986,6 +974,13 @@ ], "metadata": {} }, + { + "cell_type": "markdown", + "source": [ + "> 女朋友说,下班回来带一个西瓜。如果看到番茄,就买两个。最后程序员买回来两个西瓜。" + ], + "metadata": {} + }, { "cell_type": "markdown", "source": [ @@ -997,7 +992,7 @@ }, { "cell_type": "code", - "execution_count": 85, + "execution_count": 44, "source": [ "## 加入 if-else 逻辑语句\n", "\n", @@ -1046,7 +1041,7 @@ }, { "cell_type": "code", - "execution_count": 87, + "execution_count": 45, "source": [ "## 添加 break 停止语句\n", "\n", @@ -1092,7 +1087,7 @@ }, { "cell_type": "code", - "execution_count": 89, + "execution_count": 46, "source": [ "for a in [2,3,7,11,15]:\n", " print(a)\n", @@ -1150,7 +1145,7 @@ }, { "cell_type": "code", - "execution_count": 108, + "execution_count": null, "source": [ "## 定义阶乘函数,用于排列组合中\n", "def multiple(x):\n", @@ -1165,7 +1160,7 @@ }, { "cell_type": "code", - "execution_count": 110, + "execution_count": null, "source": [ "## 定义二项分布计算函数\n", "def p_xk(k):\n", @@ -1181,7 +1176,7 @@ }, { "cell_type": "code", - "execution_count": 117, + "execution_count": null, "source": [ "## 根据二项分布计算概率\n", "k = 0\n", @@ -1189,35 +1184,7 @@ " print('P{ X =',k,'} = ', p_xk(k))\n", " k = k + 1" ], - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "P{ X = 0 } = 0.011529215046068483\n", - "P{ X = 1 } = 0.05764607523034242\n", - "P{ X = 2 } = 0.13690942867206327\n", - "P{ X = 3 } = 0.20536414300809488\n", - "P{ X = 4 } = 0.21819940194610074\n", - "P{ X = 5 } = 0.17455952155688062\n", - "P{ X = 6 } = 0.10909970097305038\n", - "P{ X = 7 } = 0.054549850486525185\n", - "P{ X = 8 } = 0.022160876760150862\n", - "P{ X = 9 } = 0.007386958920050286\n", - "P{ X = 10 } = 0.0020314137030138287\n", - "P{ X = 11 } = 0.00046168493250314287\n", - "P{ X = 12 } = 8.65659248443393e-05\n", - "P{ X = 13 } = 1.3317834591436813e-05\n", - "P{ X = 14 } = 1.6647293239296018e-06\n", - "P{ X = 15 } = 1.6647293239296019e-07\n", - "P{ X = 16 } = 1.3005697843200012e-08\n", - "P{ X = 17 } = 7.65041049600001e-10\n", - "P{ X = 18 } = 3.1876710400000044e-11\n", - "P{ X = 19 } = 8.38860800000001e-13\n", - "P{ X = 20 } = 1.0485760000000012e-14\n" - ] - } - ], + "outputs": [], "metadata": {} } ],