Добавлены примеры и задание по типам коллекций
This commit is contained in:
@@ -10,7 +10,7 @@
|
||||
"<!-- Author: --> \n",
|
||||
"**С.В. Лемешевский** (email: `sergey.lemeshevsky@gmail.com`), Институт математики НАН Беларуси\n",
|
||||
"\n",
|
||||
"Date: **Feb 27, 2020**\n",
|
||||
"Date: **Mar 4, 2020**\n",
|
||||
"\n",
|
||||
"<!-- Common Mako variable and functions -->\n",
|
||||
"<!-- -*- coding: utf-8 -*- -->\n",
|
||||
@@ -1806,7 +1806,7 @@
|
||||
"преобразуется к верхнему регистру, а остальные символы – к нижнему. \n",
|
||||
"\n",
|
||||
"\n",
|
||||
"## `quadratic.py`\n",
|
||||
"## Решение квадратного уравнения\n",
|
||||
"<div id=\"datatype:examples:quadratic\"></div>\n",
|
||||
"\n",
|
||||
"Квадратные уравнения – это уравнения вида $ax^2 + bx + c = 0$, где $a \\ne 0$,\n",
|
||||
@@ -1845,8 +1845,27 @@
|
||||
"С коэффициентами $1.5$, $-3$ и $6$ программа выведет (некоторые цифры\n",
|
||||
"обрезаны):\n",
|
||||
"\n",
|
||||
"Теперь обратимся к программному коду, который начинается тремя инструкциями `import`:\n",
|
||||
"\n",
|
||||
"Теперь обратимся к [программному коду](src-datatype/quadratic.py),\n",
|
||||
"который начинается тремя инструкциями `import`:"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 54,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"import cmath\n",
|
||||
"import math\n",
|
||||
"import sys"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Нам необходимы обе математические библиотеки для работы с числами типа\n",
|
||||
"`float` и `complex`, так как функции, вычисляющие квадратный \n",
|
||||
"корень из вещественных и комплексных чисел, отличаются. Модуль\n",
|
||||
@@ -1860,13 +1879,12 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 54,
|
||||
"execution_count": 55,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# Start get_float\n",
|
||||
"def get_float(msg, allow_zero):\n",
|
||||
" x = None\n",
|
||||
" while x is None:\n",
|
||||
@@ -1895,13 +1913,12 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 55,
|
||||
"execution_count": 56,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# Start 1st block\n",
|
||||
"print(\"ax\\N{SUPERSCRIPT TWO} + bx + c = 0\")\n",
|
||||
"a = get_float(\"enter a: \", False)\n",
|
||||
"b = get_float(\"enter b: \", False)\n",
|
||||
@@ -1919,13 +1936,12 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 56,
|
||||
"execution_count": 57,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# Start 2d block\n",
|
||||
"x1 = None\n",
|
||||
"x2 = None\n",
|
||||
"discriminant = (b ** 2) - (4 * a * c)\n",
|
||||
@@ -1954,13 +1970,12 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 57,
|
||||
"execution_count": 58,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# Start 3d block\n",
|
||||
"equation = (\"{0}x\\N{SUPERSCRIPT TWO} + {1}x + {2} = 0\"\n",
|
||||
" \" \\N{RIGHTWARDS ARROW} x = {3}\").format(a, b, c, x1)\n",
|
||||
"if x2 is not None:\n",
|
||||
@@ -1978,7 +1993,7 @@
|
||||
"использовали некоторые имена Юникода для вывода пары специальных\n",
|
||||
"символов.\n",
|
||||
"\n",
|
||||
"## `csv2html.py`\n",
|
||||
"## Представление таблицы `csv` в HTML\n",
|
||||
"<div id=\"datatype:examples:csv2html\"></div>\n",
|
||||
"\n",
|
||||
"Часто бывает необходимо представить данные в формате HTML. В этом\n",
|
||||
@@ -2018,8 +2033,7 @@
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Предположим, что данные находятся в файле\n",
|
||||
"\"sample.csv\": \"src-datatype/sample.csv\" и выполнена комадна"
|
||||
"Предположим, что данные находятся в файле [sample.csv](src-datatype/sample.csv.txt) и выполнена комадна"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -2091,10 +2105,10 @@
|
||||
"source": [
|
||||
"На рис. показано, как выглядит полученная таблица в веб-броузере.\n",
|
||||
"\n",
|
||||
"<!-- dom:FIGURE: [fig-datatype/example_1.png, width=400 frac=1.0] Таблица, произведенная программой csv2html.py, в броузере <div id=\"datatype:examples:fig:1\"></div> -->\n",
|
||||
"<!-- dom:FIGURE: [fig-datatype/example_1.png, width=400 frac=1.0] Таблица, произведенная программой [csv2html.py](src-datatype/csv2html.py), в броузере <div id=\"datatype:examples:fig:1\"></div> -->\n",
|
||||
"<!-- begin figure -->\n",
|
||||
"<div id=\"datatype:examples:fig:1\"></div>\n",
|
||||
"<!-- end figure -->\n",
|
||||
", в броузере](fig-datatype/example_1.png)<!-- end figure -->\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Теперь, когда мы увидели, как используется программа и что она делает,\n",
|
||||
@@ -2105,7 +2119,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 58,
|
||||
"execution_count": 59,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
@@ -2128,10 +2142,10 @@
|
||||
"функций в файле (то есть порядок, в котором они создаются) не \n",
|
||||
"имеет значения.\n",
|
||||
"\n",
|
||||
"В программе `csv2html.py` первой вызываемой функцией является функция\n",
|
||||
"`main()`, которая в свою очередь вызывает функции `print_start()` и\n",
|
||||
"`print_line()`. Функция `print_line()` вызывает функции\n",
|
||||
"`extract_fields()` и `escape_html()`.\n",
|
||||
"В программе [csv2html.py](src-datatype/csv2html.py) первой\n",
|
||||
"вызываемой функцией является функция `main()`, которая в свою очередь\n",
|
||||
"вызывает функции `print_start()` и `print_line()`. Функция\n",
|
||||
"`print_line()` вызывает функции `extract_fields()` и `escape_html()`.\n",
|
||||
"\n",
|
||||
"Когда интерпретатор Python читает файл, он начинает делать это с\n",
|
||||
"самого начала. Поэтому сначала будет выполнен импорт (если он есть),\n",
|
||||
@@ -2147,7 +2161,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 59,
|
||||
"execution_count": 60,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
@@ -2190,7 +2204,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 60,
|
||||
"execution_count": 61,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
@@ -2215,7 +2229,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 61,
|
||||
"execution_count": 62,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
@@ -2273,7 +2287,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 62,
|
||||
"execution_count": 63,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
@@ -2292,7 +2306,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 63,
|
||||
"execution_count": 64,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
@@ -2337,7 +2351,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 64,
|
||||
"execution_count": 65,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
@@ -2382,7 +2396,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 65,
|
||||
"execution_count": 66,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user