From cb63060271f9cc6ecc3b4a9319bb7da5119fa0f8 Mon Sep 17 00:00:00 2001 From: Allen Downey Date: Wed, 15 Jan 2025 10:30:32 -0500 Subject: [PATCH 01/30] Updating the notebooks --- chapters/chap03.ipynb | 10 +++++----- chapters/chap07.ipynb | 19 +++++++++++++++++++ 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/chapters/chap03.ipynb b/chapters/chap03.ipynb index 64e293f..7eae21b 100644 --- a/chapters/chap03.ipynb +++ b/chapters/chap03.ipynb @@ -580,13 +580,13 @@ "frame2 = make_frame(d2, name='cat_twice', dy=-0.3, \n", " offsetx=0.03, loc='left')\n", "\n", - "d3 = dict(s = line1+line2)\n", + "d3 = dict(string=line1+line2)\n", "frame3 = make_frame(d3, name='print_twice', \n", - " offsetx=-0.28, offsety=-0.3, loc='left')\n", + " offsetx=0.04, offsety=-0.3, loc='left')\n", "\n", "d4 = {\"?\": line1+line2}\n", "frame4 = make_frame(d4, name='print', \n", - " offsetx=-0.28, offsety=0, loc='left')\n", + " offsetx=-0.22, offsety=0, loc='left')\n", "\n", "stack = Stack([frame1, frame2, frame3, frame4], dy=-0.8)" ] @@ -603,10 +603,10 @@ "from diagram import diagram, adjust\n", "\n", "\n", - "width, height, x, y = [3.8, 2.91, 1.15, 2.66]\n", + "width, height, x, y = [3.77, 2.9, 1.1, 2.65]\n", "ax = diagram(width, height)\n", "bbox = stack.draw(ax, x, y)\n", - "#adjust(x, y, bbox)" + "# adjust(x, y, bbox)" ] }, { diff --git a/chapters/chap07.ipynb b/chapters/chap07.ipynb index 0b231c6..6370e83 100644 --- a/chapters/chap07.ipynb +++ b/chapters/chap07.ipynb @@ -1472,6 +1472,7 @@ "source": [ "available = 'ACDLORT'\n", "required = 'R'\n", + "\n", "total = 0\n", "\n", "file_object = open('words.txt')\n", @@ -1612,6 +1613,24 @@ { "cell_type": "code", "execution_count": 71, + "id": "a3ea747d", + "metadata": {}, + "outputs": [], + "source": [ + "# Here's what I got from ChatGPT 4o December 26, 2024\n", + "# It's correct, but it makes multiple calls to uses_any \n", + "\n", + "def uses_all(s1, s2):\n", + " \"\"\"Checks if all characters in s2 are in s1, allowing repeats.\"\"\"\n", + " for char in s2:\n", + " if not uses_any(s1, char):\n", + " return False\n", + " return True\n" + ] + }, + { + "cell_type": "code", + "execution_count": 72, "id": "6980de57", "metadata": {}, "outputs": [], From 8eddbf6e319dc053717210817f979e08762c00ee Mon Sep 17 00:00:00 2001 From: Allen Downey Date: Wed, 15 Jan 2025 10:30:32 -0500 Subject: [PATCH 02/30] Updating the zip file --- ThinkPythonNotebooks.zip | Bin 579214 -> 579347 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/ThinkPythonNotebooks.zip b/ThinkPythonNotebooks.zip index cb57fd7002dd3c367b1b1f5639cce1669cb5dc46..4a991b95695c6d9a7b1638b4d3a26a787182967c 100644 GIT binary patch delta 10307 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

4Z%we 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 pA5H^_|Cz!|j_U`)KPj1K9+ld=K{XcdC4lMux delta 10206 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 From 76a6c725c559507ecb5b8cc8317d290655d64413 Mon Sep 17 00:00:00 2001 From: Allen Downey Date: Wed, 15 Jan 2025 10:31:33 -0500 Subject: [PATCH 03/30] Updating the blank notebooks --- blank/chap00.ipynb | 18 +++- blank/chap01.ipynb | 30 ++++-- blank/chap02.ipynb | 16 ++++ blank/chap03.ipynb | 26 ++++- blank/chap04.ipynb | 146 +++++++++++++++++----------- blank/chap05.ipynb | 16 ++++ blank/chap06.ipynb | 16 ++++ blank/chap07.ipynb | 122 +++++++++++++---------- blank/chap08.ipynb | 54 +++++++---- blank/chap09.ipynb | 16 ++++ blank/chap10.ipynb | 18 +++- blank/chap11.ipynb | 234 +++++++++++++++++++++++---------------------- blank/chap12.ipynb | 18 +++- blank/chap13.ipynb | 18 +++- blank/chap14.ipynb | 16 ++++ blank/chap15.ipynb | 16 ++++ blank/chap16.ipynb | 16 ++++ blank/chap17.ipynb | 16 ++++ blank/chap18.ipynb | 18 +++- blank/chap19.ipynb | 16 ++++ 20 files changed, 587 insertions(+), 259 deletions(-) diff --git a/blank/chap00.ipynb b/blank/chap00.ipynb index a21a38a..55b62c2 100644 --- a/blank/chap00.ipynb +++ b/blank/chap00.ipynb @@ -217,6 +217,22 @@ "metadata": {}, "outputs": [], "source": [] + }, + { + "cell_type": "markdown", + "id": "a7f4edf8", + "metadata": { + "tags": [] + }, + "source": [ + "[Think Python: 3rd Edition](https://allendowney.github.io/ThinkPython/index.html)\n", + "\n", + "Copyright 2024 [Allen B. Downey](https://allendowney.com)\n", + "\n", + "Code license: [MIT License](https://mit-license.org/)\n", + "\n", + "Text license: [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-nc-sa/4.0/)" + ] } ], "metadata": { @@ -235,7 +251,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.14" + "version": "3.10.11" } }, "nbformat": 4, diff --git a/blank/chap01.ipynb b/blank/chap01.ipynb index 1fb365f..7b758f0 100644 --- a/blank/chap01.ipynb +++ b/blank/chap01.ipynb @@ -161,9 +161,9 @@ "source": [ "Notice that the result of the division is `42.0` rather than `42`. That's because there are two types of numbers in Python: \n", "\n", - "* **integers**, which represent whole numbers, and \n", + "* **integers**, which represent numbers with no fractional or decimal part, and \n", "\n", - "* **floating-point numbers**, which represent numbers with a decimal point.\n", + "* **floating-point numbers**, which represent integers and numbers with a decimal point.\n", "\n", "If you add, subtract, or multiply two integers, the result is an integer.\n", "But if you divide two integers, the result is a floating-point number.\n", @@ -311,7 +311,7 @@ "## Arithmetic functions\n", "\n", "In addition to the arithmetic operators, Python provides a few **functions** that work with numbers.\n", - "For example, the `round` function takes a floating-point number and rounds it off to the nearest whole number." + "For example, the `round` function takes a floating-point number and rounds it off to the nearest integer." ] }, { @@ -533,7 +533,7 @@ "source": [ "The other arithmetic operators don't work with strings.\n", "\n", - "Python provides a function called `len` that computes the length of a string.`" + "Python provides a function called `len` that computes the length of a string." ] }, { @@ -877,10 +877,10 @@ "A symbol, like `+` and `*`, that denotes an arithmetic operation like addition or multiplication.\n", "\n", "**integer:**\n", - "A type that represents whole numbers.\n", + "A type that represents numbers with no fractional or decimal part.\n", "\n", "**floating-point:**\n", - "A type that represents numbers with fractional parts.\n", + "A type that represents integers and numbers with decimal parts.\n", "\n", "**integer division:**\n", "An operator, `//`, that divides two numbers and rounds down to an integer.\n", @@ -979,7 +979,7 @@ "\n", "* I also mentioned the order of operations. For more details, ask \"What is the order of operations in Python?\"\n", "\n", - "* The `round` function, which we used to round a floating-point number to the nearest whole number, can take a second argument. Try asking \"What are the arguments of the round function?\" or \"How do I round pi off to three decimal places?\"\n", + "* The `round` function, which we used to round a floating-point number to the nearest integer, can take a second argument. Try asking \"What are the arguments of the round function?\" or \"How do I round pi off to three decimal places?\"\n", "\n", "* There's one more arithmetic operator I didn't mention; try asking \"What is the modulus operator in Python?\"" ] @@ -1162,6 +1162,22 @@ "metadata": {}, "outputs": [], "source": [] + }, + { + "cell_type": "markdown", + "id": "a7f4edf8", + "metadata": { + "tags": [] + }, + "source": [ + "[Think Python: 3rd Edition](https://allendowney.github.io/ThinkPython/index.html)\n", + "\n", + "Copyright 2024 [Allen B. Downey](https://allendowney.com)\n", + "\n", + "Code license: [MIT License](https://mit-license.org/)\n", + "\n", + "Text license: [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-nc-sa/4.0/)" + ] } ], "metadata": { diff --git a/blank/chap02.ipynb b/blank/chap02.ipynb index ca7c116..345e793 100644 --- a/blank/chap02.ipynb +++ b/blank/chap02.ipynb @@ -1096,6 +1096,22 @@ "metadata": {}, "outputs": [], "source": [] + }, + { + "cell_type": "markdown", + "id": "a7f4edf8", + "metadata": { + "tags": [] + }, + "source": [ + "[Think Python: 3rd Edition](https://allendowney.github.io/ThinkPython/index.html)\n", + "\n", + "Copyright 2024 [Allen B. Downey](https://allendowney.com)\n", + "\n", + "Code license: [MIT License](https://mit-license.org/)\n", + "\n", + "Text license: [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-nc-sa/4.0/)" + ] } ], "metadata": { diff --git a/blank/chap03.ipynb b/blank/chap03.ipynb index 7bd3423..a2b6766 100644 --- a/blank/chap03.ipynb +++ b/blank/chap03.ipynb @@ -509,13 +509,13 @@ "frame2 = make_frame(d2, name='cat_twice', dy=-0.3, \n", " offsetx=0.03, loc='left')\n", "\n", - "d3 = dict(s = line1+line2)\n", + "d3 = dict(string=line1+line2)\n", "frame3 = make_frame(d3, name='print_twice', \n", - " offsetx=-0.28, offsety=-0.3, loc='left')\n", + " offsetx=0.04, offsety=-0.3, loc='left')\n", "\n", "d4 = {\"?\": line1+line2}\n", "frame4 = make_frame(d4, name='print', \n", - " offsetx=-0.28, offsety=0, loc='left')\n", + " offsetx=-0.22, offsety=0, loc='left')\n", "\n", "stack = Stack([frame1, frame2, frame3, frame4], dy=-0.8)" ] @@ -532,10 +532,10 @@ "from diagram import diagram, adjust\n", "\n", "\n", - "width, height, x, y = [3.8, 2.91, 1.15, 2.66]\n", + "width, height, x, y = [3.77, 2.9, 1.1, 2.65]\n", "ax = diagram(width, height)\n", "bbox = stack.draw(ax, x, y)\n", - "#adjust(x, y, bbox)" + "# adjust(x, y, bbox)" ] }, { @@ -955,6 +955,22 @@ "metadata": {}, "outputs": [], "source": [] + }, + { + "cell_type": "markdown", + "id": "a7f4edf8", + "metadata": { + "tags": [] + }, + "source": [ + "[Think Python: 3rd Edition](https://allendowney.github.io/ThinkPython/index.html)\n", + "\n", + "Copyright 2024 [Allen B. Downey](https://allendowney.com)\n", + "\n", + "Code license: [MIT License](https://mit-license.org/)\n", + "\n", + "Text license: [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-nc-sa/4.0/)" + ] } ], "metadata": { diff --git a/blank/chap04.ipynb b/blank/chap04.ipynb index 6b5fca9..23e5490 100644 --- a/blank/chap04.ipynb +++ b/blank/chap04.ipynb @@ -12,7 +12,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 2, "id": "df64b7da", "metadata": { "tags": [] @@ -22,7 +22,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 3, "id": "320fc8bc", "metadata": { "tags": [] @@ -55,7 +55,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 4, "id": "8f5a8a45", "metadata": {}, "outputs": [], @@ -71,7 +71,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 5, "id": "b3f255cd", "metadata": {}, "outputs": [], @@ -94,7 +94,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 6, "id": "234fde81", "metadata": {}, "outputs": [], @@ -110,7 +110,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 7, "id": "1e768880", "metadata": {}, "outputs": [], @@ -127,7 +127,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 8, "id": "6d874b03", "metadata": {}, "outputs": [], @@ -144,7 +144,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 9, "id": "1bb57a0c", "metadata": {}, "outputs": [], @@ -171,7 +171,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 10, "id": "9a9e455f", "metadata": {}, "outputs": [], @@ -187,7 +187,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 11, "id": "cc27ad66", "metadata": {}, "outputs": [], @@ -207,7 +207,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 12, "id": "ad5f1128", "metadata": {}, "outputs": [], @@ -223,7 +223,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 13, "id": "193bbe5e", "metadata": {}, "outputs": [], @@ -243,7 +243,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 14, "id": "def8a5f1", "metadata": {}, "outputs": [], @@ -259,7 +259,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 15, "id": "b283e795", "metadata": {}, "outputs": [], @@ -273,12 +273,12 @@ "Adding a parameter to a function is called **generalization** because it makes the function more general: with the previous version, the square is always the same size; with this version it can be any size.\n", "\n", "If we add another parameter, we can make it even more general.\n", - "The following function draws regular polygons with a given of sides." + "The following function draws regular polygons with a given number of sides." ] }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 16, "id": "171974ed", "metadata": {}, "outputs": [], @@ -296,7 +296,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 17, "id": "71f7d9d2", "metadata": {}, "outputs": [], @@ -313,7 +313,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 18, "id": "8ff2a5f4", "metadata": { "tags": [] @@ -346,7 +346,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 19, "id": "7f2a5f28", "metadata": {}, "outputs": [], @@ -368,7 +368,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 20, "id": "75258056", "metadata": {}, "outputs": [], @@ -404,7 +404,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 21, "id": "381edd23", "metadata": {}, "outputs": [], @@ -422,7 +422,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 22, "id": "2f4eecc0", "metadata": {}, "outputs": [], @@ -438,7 +438,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 23, "id": "539466f6", "metadata": {}, "outputs": [], @@ -456,7 +456,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 24, "id": "8e09f456", "metadata": {}, "outputs": [], @@ -473,7 +473,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 25, "id": "80d6eadd", "metadata": {}, "outputs": [], @@ -505,7 +505,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 26, "id": "1571ee71", "metadata": { "tags": [] @@ -515,7 +515,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 27, "id": "f4e37360", "metadata": { "tags": [] @@ -576,7 +576,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 28, "id": "baf964ba", "metadata": {}, "outputs": [], @@ -592,7 +592,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 29, "id": "e2e006d5", "metadata": {}, "outputs": [], @@ -621,7 +621,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 30, "id": "b68f3682", "metadata": {}, "outputs": [], @@ -718,7 +718,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 31, "id": "9f94061e", "metadata": { "tags": [] @@ -742,7 +742,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 32, "id": "6f9a0106", "metadata": {}, "outputs": [], @@ -761,7 +761,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 33, "id": "c54ba660", "metadata": {}, "outputs": [], @@ -779,7 +779,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 34, "id": "1311ee08", "metadata": { "tags": [] @@ -792,14 +792,14 @@ "id": "8b8faaf6", "metadata": {}, "source": [ - "## Exercise\n", + "### Exercise\n", "\n", "Write a function called `rhombus` that draws a rhombus with a given side length and a given interior angle. For example, here's a rhombus with side length `50` and an interior angle of `60` degrees." ] }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 35, "id": "3db6f106", "metadata": {}, "outputs": [], @@ -817,7 +817,7 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 36, "id": "1d845de9", "metadata": { "tags": [] @@ -837,7 +837,7 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 37, "id": "895005cb", "metadata": {}, "outputs": [], @@ -845,7 +845,7 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": 38, "id": "7e7d34b0", "metadata": {}, "outputs": [], @@ -853,7 +853,7 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": 39, "id": "481396f9", "metadata": {}, "outputs": [], @@ -871,7 +871,7 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": 40, "id": "c8dfebc9", "metadata": { "tags": [] @@ -881,19 +881,21 @@ }, { "cell_type": "markdown", - "id": "feae252c", + "id": "991ab59d", "metadata": {}, "source": [ "### Exercise\n", "\n", "Write an appropriately general set of functions that can draw shapes like this.\n", "\n", + "![](https://github.com/AllenDowney/ThinkPython/raw/v3/jupyturtle_pie.png)\n", + "\n", "Hint: Write a function called `triangle` that draws one triangular segment, and then a function called `draw_pie` that uses `triangle`." ] }, { "cell_type": "code", - "execution_count": 40, + "execution_count": 41, "id": "8be6442e", "metadata": {}, "outputs": [], @@ -901,7 +903,7 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": 42, "id": "be1b7ed8", "metadata": {}, "outputs": [], @@ -919,7 +921,17 @@ }, { "cell_type": "code", - "execution_count": 42, + "execution_count": null, + "id": "c519ca39", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 51, "id": "89ce198a", "metadata": { "tags": [] @@ -929,19 +941,21 @@ }, { "cell_type": "markdown", - "id": "7c665dd1", + "id": "9c78b76f", "metadata": {}, "source": [ "### Exercise\n", "\n", "Write an appropriately general set of functions that can draw flowers like this.\n", "\n", + "![](https://github.com/AllenDowney/ThinkPython/raw/v3/jupyturtle_flower.png)\n", + "\n", "Hint: Use `arc` to write a function called `petal` that draws one flower petal." ] }, { "cell_type": "code", - "execution_count": 43, + "execution_count": 44, "id": "0f0e7498", "metadata": {}, "outputs": [], @@ -949,7 +963,7 @@ }, { "cell_type": "code", - "execution_count": 44, + "execution_count": 45, "id": "6c0d0bff", "metadata": {}, "outputs": [], @@ -972,7 +986,17 @@ }, { "cell_type": "code", - "execution_count": 45, + "execution_count": null, + "id": "04193da5", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 53, "id": "4cfea3b0", "metadata": { "tags": [] @@ -1029,7 +1053,7 @@ }, { "cell_type": "code", - "execution_count": 46, + "execution_count": 47, "id": "46d3151c", "metadata": {}, "outputs": [], @@ -1037,19 +1061,27 @@ }, { "cell_type": "code", - "execution_count": 47, + "execution_count": 48, "id": "186c7fbc", "metadata": {}, "outputs": [], "source": [] }, { - "cell_type": "code", - "execution_count": null, - "id": "979f5ad4", - "metadata": {}, - "outputs": [], - "source": [] + "cell_type": "markdown", + "id": "a7f4edf8", + "metadata": { + "tags": [] + }, + "source": [ + "[Think Python: 3rd Edition](https://allendowney.github.io/ThinkPython/index.html)\n", + "\n", + "Copyright 2024 [Allen B. Downey](https://allendowney.com)\n", + "\n", + "Code license: [MIT License](https://mit-license.org/)\n", + "\n", + "Text license: [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-nc-sa/4.0/)" + ] } ], "metadata": { diff --git a/blank/chap05.ipynb b/blank/chap05.ipynb index b27f183..9f9ad19 100644 --- a/blank/chap05.ipynb +++ b/blank/chap05.ipynb @@ -1506,6 +1506,22 @@ "metadata": {}, "outputs": [], "source": [] + }, + { + "cell_type": "markdown", + "id": "a7f4edf8", + "metadata": { + "tags": [] + }, + "source": [ + "[Think Python: 3rd Edition](https://allendowney.github.io/ThinkPython/index.html)\n", + "\n", + "Copyright 2024 [Allen B. Downey](https://allendowney.com)\n", + "\n", + "Code license: [MIT License](https://mit-license.org/)\n", + "\n", + "Text license: [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-nc-sa/4.0/)" + ] } ], "metadata": { diff --git a/blank/chap06.ipynb b/blank/chap06.ipynb index b35c34b..7fadc4e 100644 --- a/blank/chap06.ipynb +++ b/blank/chap06.ipynb @@ -1654,6 +1654,22 @@ "metadata": {}, "outputs": [], "source": [] + }, + { + "cell_type": "markdown", + "id": "a7f4edf8", + "metadata": { + "tags": [] + }, + "source": [ + "[Think Python: 3rd Edition](https://allendowney.github.io/ThinkPython/index.html)\n", + "\n", + "Copyright 2024 [Allen B. Downey](https://allendowney.com)\n", + "\n", + "Code license: [MIT License](https://mit-license.org/)\n", + "\n", + "Text license: [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-nc-sa/4.0/)" + ] } ], "metadata": { diff --git a/blank/chap07.ipynb b/blank/chap07.ipynb index e2855cc..22ea459 100644 --- a/blank/chap07.ipynb +++ b/blank/chap07.ipynb @@ -12,7 +12,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "id": "f0c8eb18", "metadata": { "tags": [] @@ -50,7 +50,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "id": "6b8569b8-1576-45d2-99f6-c7a2c7e100c4", "metadata": {}, "outputs": [], @@ -68,7 +68,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 3, "id": "6cb5b573-601c-42f5-a940-f1a4d244f990", "metadata": {}, "outputs": [], @@ -87,7 +87,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "id": "7040a890-6619-4ad2-b0bf-b094a5a0e43d", "metadata": {}, "outputs": [], @@ -103,7 +103,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 5, "id": "40fd553c-693c-4ffc-8e49-1d7de3c4d4a7", "metadata": {}, "outputs": [], @@ -119,7 +119,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 6, "id": "8a34174b-5a77-482a-8480-14cfdff16339", "metadata": {}, "outputs": [], @@ -135,7 +135,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 7, "id": "0909121d-5218-49ca-b03e-258206f00e40", "metadata": {}, "outputs": [], @@ -151,7 +151,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 8, "id": "3c4d8138-ddf6-46fe-a940-a7042617ceb1", "metadata": {}, "outputs": [], @@ -159,7 +159,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 9, "id": "5c463051-b737-49ab-a1d7-4be66fd8331f", "metadata": {}, "outputs": [], @@ -188,7 +188,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 10, "id": "a7b7ac52-64a6-4dd9-98f5-b772a5e0f161", "metadata": { "tags": [] @@ -207,7 +207,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 11, "id": "1ad13ce7-99be-4412-8e0b-978fe6de25f2", "metadata": {}, "outputs": [], @@ -223,7 +223,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 12, "id": "dc2054e6-d8e8-4a06-a1ea-5cfcf4ccf1e0", "metadata": {}, "outputs": [], @@ -246,7 +246,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 13, "id": "eaea1520-0fb3-4ef3-be6e-9e1cdcccf39f", "metadata": {}, "outputs": [], @@ -262,7 +262,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 14, "id": "f602bfb6-7a93-4fb8-ade6-6784155a6f1a", "metadata": {}, "outputs": [], @@ -281,7 +281,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 15, "id": "cf3b8b7e-5fc7-4bb1-b628-09277bdc5a0d", "metadata": { "tags": [] @@ -314,7 +314,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 16, "id": "6bf8a104", "metadata": {}, "outputs": [], @@ -330,7 +330,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 17, "id": "0fe7ae60", "metadata": {}, "outputs": [], @@ -346,7 +346,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 18, "id": "8a09bc24", "metadata": { "tags": [] @@ -356,7 +356,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 19, "id": "36a45674-7f41-4850-98f1-2548574ce958", "metadata": { "tags": [] @@ -378,7 +378,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 20, "id": "ba2ab90b", "metadata": { "tags": [] @@ -388,7 +388,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 21, "id": "88496dc4", "metadata": {}, "outputs": [], @@ -406,9 +406,11 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 22, "id": "4a0c46b9", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [] }, @@ -423,7 +425,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 23, "id": "2220d826", "metadata": {}, "outputs": [], @@ -441,7 +443,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 24, "id": "d8e1ac5a", "metadata": {}, "outputs": [], @@ -467,7 +469,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 25, "id": "0afd8f88", "metadata": {}, "outputs": [], @@ -485,7 +487,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 26, "id": "8686b2eb-c610-4d29-a942-2ef8f53e5e36", "metadata": {}, "outputs": [], @@ -503,7 +505,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 27, "id": "89a05280", "metadata": {}, "outputs": [], @@ -519,7 +521,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 28, "id": "9d29b5e9", "metadata": {}, "outputs": [], @@ -535,7 +537,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 29, "id": "304dfd86", "metadata": {}, "outputs": [], @@ -562,7 +564,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 30, "id": "fe6431b7", "metadata": {}, "outputs": [], @@ -578,7 +580,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 31, "id": "85d3fba6", "metadata": {}, "outputs": [], @@ -594,7 +596,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 32, "id": "2d653847", "metadata": {}, "outputs": [], @@ -611,7 +613,7 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 33, "id": "a92a81bc", "metadata": {}, "outputs": [], @@ -627,7 +629,7 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 34, "id": "d15f83a4", "metadata": {}, "outputs": [], @@ -643,7 +645,7 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 35, "id": "e7958af4", "metadata": {}, "outputs": [], @@ -651,7 +653,7 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": 36, "id": "020a57a7", "metadata": {}, "outputs": [], @@ -659,7 +661,7 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": 37, "id": "0b979b20", "metadata": {}, "outputs": [], @@ -678,7 +680,7 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": 38, "id": "bd29ff63", "metadata": {}, "outputs": [], @@ -694,7 +696,7 @@ }, { "cell_type": "code", - "execution_count": 40, + "execution_count": 39, "id": "9369fb05", "metadata": {}, "outputs": [], @@ -710,7 +712,7 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": 40, "id": "eb32713a", "metadata": {}, "outputs": [], @@ -721,12 +723,12 @@ "id": "b2acc611", "metadata": {}, "source": [ - "`uses_only` converts `word` and `letters` to lowercase, so it works with any combination of cases. " + "`uses_any` converts `word` and `letters` to lowercase, so it works with any combination of cases. " ] }, { "cell_type": "code", - "execution_count": 42, + "execution_count": 41, "id": "7e65a9fb", "metadata": {}, "outputs": [], @@ -760,7 +762,7 @@ }, { "cell_type": "code", - "execution_count": 43, + "execution_count": 42, "id": "3982e7d3", "metadata": {}, "outputs": [], @@ -784,7 +786,7 @@ }, { "cell_type": "code", - "execution_count": 44, + "execution_count": 43, "id": "40ef00d3", "metadata": {}, "outputs": [], @@ -801,7 +803,7 @@ }, { "cell_type": "code", - "execution_count": 45, + "execution_count": 44, "id": "f37cfd36", "metadata": {}, "outputs": [], @@ -822,7 +824,7 @@ }, { "cell_type": "code", - "execution_count": 46, + "execution_count": 45, "id": "58c916cc", "metadata": {}, "outputs": [], @@ -838,7 +840,7 @@ }, { "cell_type": "code", - "execution_count": 47, + "execution_count": 46, "id": "7a325745", "metadata": {}, "outputs": [], @@ -905,7 +907,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 47, "id": "bc58db59", "metadata": { "tags": [] @@ -1292,18 +1294,34 @@ { "cell_type": "code", "execution_count": 71, - "id": "6980de57", + "id": "a3ea747d", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", - "execution_count": null, - "id": "102df097", + "execution_count": 72, + "id": "6980de57", "metadata": {}, "outputs": [], "source": [] + }, + { + "cell_type": "markdown", + "id": "a7f4edf8", + "metadata": { + "tags": [] + }, + "source": [ + "[Think Python: 3rd Edition](https://allendowney.github.io/ThinkPython/index.html)\n", + "\n", + "Copyright 2024 [Allen B. Downey](https://allendowney.com)\n", + "\n", + "Code license: [MIT License](https://mit-license.org/)\n", + "\n", + "Text license: [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-nc-sa/4.0/)" + ] } ], "metadata": { diff --git a/blank/chap08.ipynb b/blank/chap08.ipynb index e137ddc..00a2a91 100644 --- a/blank/chap08.ipynb +++ b/blank/chap08.ipynb @@ -1303,10 +1303,7 @@ "Replacement of a string, or part of a string, with another string.\n", "\n", "**shell command:**\n", - "A statement in a shell language, which is a language used to interact with an operating system.\n", - "\n", - "**raw string:**\n", - "A Python string that is preceded by the letter `r`, which indicates that backslashes that appear in the string should not be considered part of a special sequence." + "A statement in a shell language, which is a language used to interact with an operating system." ] }, { @@ -1358,7 +1355,7 @@ "\n", "And if you want to see something more complicated, try asking for a regular expression that matches any legal URL.\n", "\n", - "A regular expression often has the letter `r` before the quotation mark, which indicates that it is a **raw string**.\n", + "A regular expression often has the letter `r` before the quotation mark, which indicates that it is a \"raw string\".\n", "For more information, ask a virtual assistant, \"What is a raw string in Python?\"" ] }, @@ -1445,12 +1442,12 @@ "Each attempt has to be recognized as a word, not including proper nouns.\n", "After each attempt, you get information about which of the letters you guessed appear in the target word, and which ones are in the correct position.\n", "\n", - "For example, suppose the target word is `MOWER` and you guess `TRIED`. You would learn that `E` is in the word and in the correct position, `R` is in the word but not in the correct position, and `T`, `I`, and `D` are not in the word.\n", + "For example, suppose the target word is `MOWER` and you guess `TRIED`.\n", + "You would learn that `E` is in the word and in the correct position, `R` is in the word but not in the correct position, and `T`, `I`, and `D` are not in the word.\n", "\n", "As a different example, suppose you have guessed the words `SPADE` and `CLERK`, and you've learned that `E` is in the word, but not in either of those positions, and none of the other letters appear in the word.\n", - "\n", "Of the words in the word list, how many could be the target word?\n", - "Write a function called `check_word` that takes a five-letter word and checks whether it could be the target word." + "Write a function called `check_word` that takes a five-letter word and checks whether it could be the target word, given these guesses." ] }, { @@ -1537,8 +1534,9 @@ "\n", "In particular, he says it is \"shameless in its repetition of the same adjective,\" and mentions in particular the number of times \"its characters either shudder or turn pale.\"\n", "\n", - "To see whether his objection is valid, let's count the number number of times the word `pale` appears in any form, including `pale`, `pales`, `paled`, and `paleness`, as well as the related word `pallor`. \n", - "Use a single regular expression that matches all of these words and no others." + "To see whether his objection is valid, let's count the number number of lines that contain the word `pale` in any form, including `pale`, `pales`, `paled`, and `paleness`, as well as the related word `pallor`. \n", + "Use a single regular expression that matches any of these words.\n", + "As an additional challenge, make sure that it doesn't match any other words, like `impale` -- you might want to ask a virtual assistant for help." ] }, { @@ -1583,7 +1581,7 @@ }, { "cell_type": "code", - "execution_count": 89, + "execution_count": 83, "id": "08294921", "metadata": {}, "outputs": [], @@ -1591,29 +1589,45 @@ }, { "cell_type": "code", - "execution_count": 90, + "execution_count": 84, "id": "3eb8f83f", "metadata": {}, "outputs": [], "source": [] }, + { + "cell_type": "code", + "execution_count": 85, + "id": "b6bffe8a", + "metadata": {}, + "outputs": [], + "source": [] + }, { "cell_type": "markdown", - "id": "71d2148f", + "id": "7db56337", "metadata": { "tags": [] }, "source": [ - "By my count, these words appear `223` times in a book that contains about `461,000` words. Mr. Eco might have a point." + "By this count, these words appear on `223` lines of the book, so Mr. Eco might have a point." ] }, { - "cell_type": "code", - "execution_count": null, - "id": "32d539d9", - "metadata": {}, - "outputs": [], - "source": [] + "cell_type": "markdown", + "id": "a7f4edf8", + "metadata": { + "tags": [] + }, + "source": [ + "[Think Python: 3rd Edition](https://allendowney.github.io/ThinkPython/index.html)\n", + "\n", + "Copyright 2024 [Allen B. Downey](https://allendowney.com)\n", + "\n", + "Code license: [MIT License](https://mit-license.org/)\n", + "\n", + "Text license: [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-nc-sa/4.0/)" + ] } ], "metadata": { diff --git a/blank/chap09.ipynb b/blank/chap09.ipynb index 4521314..c4cae84 100644 --- a/blank/chap09.ipynb +++ b/blank/chap09.ipynb @@ -1633,6 +1633,22 @@ "metadata": {}, "outputs": [], "source": [] + }, + { + "cell_type": "markdown", + "id": "a7f4edf8", + "metadata": { + "tags": [] + }, + "source": [ + "[Think Python: 3rd Edition](https://allendowney.github.io/ThinkPython/index.html)\n", + "\n", + "Copyright 2024 [Allen B. Downey](https://allendowney.com)\n", + "\n", + "Code license: [MIT License](https://mit-license.org/)\n", + "\n", + "Text license: [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-nc-sa/4.0/)" + ] } ], "metadata": { diff --git a/blank/chap10.ipynb b/blank/chap10.ipynb index 23c3157..56d77c9 100644 --- a/blank/chap10.ipynb +++ b/blank/chap10.ipynb @@ -1008,7 +1008,7 @@ "\n", "As you work with bigger datasets it can become unwieldy to debug by printing and checking the output by hand. Here are some suggestions for debugging large datasets:\n", "\n", - "1) Scale down the input: If possible, reduce the size of the dataset. For example if the\n", + "1. Scale down the input: If possible, reduce the size of the dataset. For example if the\n", " program reads a text file, start with just the first 10 lines, or\n", " with the smallest example you can find. You can either edit the\n", " files themselves, or (better) modify the program so it reads only\n", @@ -1492,6 +1492,22 @@ "metadata": {}, "outputs": [], "source": [] + }, + { + "cell_type": "markdown", + "id": "a7f4edf8", + "metadata": { + "tags": [] + }, + "source": [ + "[Think Python: 3rd Edition](https://allendowney.github.io/ThinkPython/index.html)\n", + "\n", + "Copyright 2024 [Allen B. Downey](https://allendowney.com)\n", + "\n", + "Code license: [MIT License](https://mit-license.org/)\n", + "\n", + "Text license: [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-nc-sa/4.0/)" + ] } ], "metadata": { diff --git a/blank/chap11.ipynb b/blank/chap11.ipynb index 916cd43..d80bc23 100644 --- a/blank/chap11.ipynb +++ b/blank/chap11.ipynb @@ -12,7 +12,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 2, "id": "295ac6d7", "metadata": { "tags": [] @@ -54,7 +54,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 3, "id": "fb0bdca2", "metadata": {}, "outputs": [], @@ -70,7 +70,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 4, "id": "5a6da881", "metadata": {}, "outputs": [], @@ -86,7 +86,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 5, "id": "e2596ca7", "metadata": {}, "outputs": [], @@ -102,7 +102,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 6, "id": "a0d350a6", "metadata": {}, "outputs": [], @@ -119,7 +119,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 7, "id": "c9100ee4", "metadata": {}, "outputs": [], @@ -136,7 +136,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 8, "id": "44bd3d83", "metadata": {}, "outputs": [], @@ -155,7 +155,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 9, "id": "92e55b2c", "metadata": {}, "outputs": [], @@ -171,7 +171,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 10, "id": "38ee5c2a", "metadata": {}, "outputs": [], @@ -187,7 +187,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 11, "id": "2e0e311a", "metadata": {}, "outputs": [], @@ -203,7 +203,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 12, "id": "8bb7d715", "metadata": {}, "outputs": [], @@ -219,7 +219,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 13, "id": "e653e00f", "metadata": {}, "outputs": [], @@ -235,7 +235,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 14, "id": "8969188d", "metadata": {}, "outputs": [], @@ -251,7 +251,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 15, "id": "65d7ebaa", "metadata": {}, "outputs": [], @@ -277,7 +277,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 16, "id": "b4970fe0", "metadata": { "tags": [] @@ -295,7 +295,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 17, "id": "772738cc", "metadata": { "tags": [] @@ -316,7 +316,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 18, "id": "37e67042", "metadata": {}, "outputs": [], @@ -332,7 +332,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 19, "id": "d809a490", "metadata": {}, "outputs": [], @@ -348,7 +348,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 20, "id": "dfc42a8b", "metadata": {}, "outputs": [], @@ -364,7 +364,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 21, "id": "2debf30c", "metadata": {}, "outputs": [], @@ -382,7 +382,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 22, "id": "1e94ea37", "metadata": {}, "outputs": [], @@ -399,7 +399,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 23, "id": "99c96c7f", "metadata": {}, "outputs": [], @@ -416,7 +416,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 24, "id": "b67881ed", "metadata": {}, "outputs": [], @@ -432,7 +432,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 25, "id": "b4515e2b", "metadata": {}, "outputs": [], @@ -449,7 +449,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 26, "id": "8e5b4a14", "metadata": { "tags": [] @@ -468,7 +468,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 27, "id": "2389d6de", "metadata": {}, "outputs": [], @@ -484,7 +484,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 28, "id": "5512edec", "metadata": {}, "outputs": [], @@ -503,7 +503,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 29, "id": "651ab417", "metadata": {}, "outputs": [], @@ -521,7 +521,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 30, "id": "2c0b7d47", "metadata": {}, "outputs": [], @@ -554,7 +554,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 31, "id": "fff80eaa", "metadata": {}, "outputs": [], @@ -570,7 +570,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 32, "id": "4a0eb2a9", "metadata": {}, "outputs": [], @@ -578,7 +578,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 33, "id": "d74ba1b6", "metadata": {}, "outputs": [], @@ -594,7 +594,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 34, "id": "dad3b3bb", "metadata": {}, "outputs": [], @@ -611,7 +611,7 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 35, "id": "fbd90b0e", "metadata": {}, "outputs": [], @@ -627,7 +627,7 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 36, "id": "5a101efb", "metadata": {}, "outputs": [], @@ -649,7 +649,7 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 37, "id": "0a33e2d0", "metadata": {}, "outputs": [], @@ -666,7 +666,7 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": 38, "id": "336a08ca", "metadata": {}, "outputs": [], @@ -683,7 +683,7 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": 39, "id": "991810bc", "metadata": { "tags": [] @@ -702,7 +702,7 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": 40, "id": "f25ebee1", "metadata": {}, "outputs": [], @@ -719,7 +719,7 @@ }, { "cell_type": "code", - "execution_count": 40, + "execution_count": 41, "id": "7ad64412", "metadata": {}, "outputs": [], @@ -739,7 +739,7 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": 42, "id": "b2863701", "metadata": {}, "outputs": [], @@ -747,7 +747,7 @@ }, { "cell_type": "code", - "execution_count": 42, + "execution_count": 43, "id": "cc1afa29", "metadata": {}, "outputs": [], @@ -774,7 +774,7 @@ }, { "cell_type": "code", - "execution_count": 43, + "execution_count": 44, "id": "ad3e6f81", "metadata": {}, "outputs": [], @@ -791,7 +791,7 @@ }, { "cell_type": "code", - "execution_count": 44, + "execution_count": 45, "id": "9ce313ce", "metadata": {}, "outputs": [], @@ -807,7 +807,7 @@ }, { "cell_type": "code", - "execution_count": 45, + "execution_count": 46, "id": "321d9c30", "metadata": {}, "outputs": [], @@ -824,7 +824,7 @@ }, { "cell_type": "code", - "execution_count": 46, + "execution_count": 47, "id": "7eb73d5d", "metadata": {}, "outputs": [], @@ -842,7 +842,7 @@ }, { "cell_type": "code", - "execution_count": 47, + "execution_count": 48, "id": "9529baa8", "metadata": {}, "outputs": [], @@ -858,7 +858,7 @@ }, { "cell_type": "code", - "execution_count": 48, + "execution_count": 49, "id": "dbde77b8", "metadata": {}, "outputs": [], @@ -875,7 +875,7 @@ }, { "cell_type": "code", - "execution_count": 49, + "execution_count": 50, "id": "dbb7d0b3", "metadata": {}, "outputs": [], @@ -891,7 +891,7 @@ }, { "cell_type": "code", - "execution_count": 50, + "execution_count": 51, "id": "49e3fd8e", "metadata": {}, "outputs": [], @@ -909,7 +909,7 @@ }, { "cell_type": "code", - "execution_count": 51, + "execution_count": 52, "id": "9e4f3e51", "metadata": {}, "outputs": [], @@ -925,7 +925,7 @@ }, { "cell_type": "code", - "execution_count": 52, + "execution_count": 53, "id": "c1dcb46d", "metadata": {}, "outputs": [], @@ -945,7 +945,7 @@ }, { "cell_type": "code", - "execution_count": 53, + "execution_count": 54, "id": "aed20c28", "metadata": {}, "outputs": [], @@ -961,7 +961,7 @@ }, { "cell_type": "code", - "execution_count": 54, + "execution_count": 55, "id": "4d9e73b3", "metadata": {}, "outputs": [], @@ -979,7 +979,7 @@ }, { "cell_type": "code", - "execution_count": 55, + "execution_count": 56, "id": "2077dfa9", "metadata": {}, "outputs": [], @@ -995,7 +995,7 @@ }, { "cell_type": "code", - "execution_count": 56, + "execution_count": 57, "id": "b3d40516", "metadata": {}, "outputs": [], @@ -1014,7 +1014,7 @@ }, { "cell_type": "code", - "execution_count": 57, + "execution_count": 58, "id": "8288c28f", "metadata": {}, "outputs": [], @@ -1030,7 +1030,7 @@ }, { "cell_type": "code", - "execution_count": 58, + "execution_count": 59, "id": "bbbade35", "metadata": {}, "outputs": [], @@ -1049,7 +1049,7 @@ }, { "cell_type": "code", - "execution_count": 59, + "execution_count": 60, "id": "a4c31795", "metadata": {}, "outputs": [], @@ -1065,7 +1065,7 @@ }, { "cell_type": "code", - "execution_count": 60, + "execution_count": 61, "id": "f3d3619a", "metadata": {}, "outputs": [], @@ -1083,7 +1083,7 @@ }, { "cell_type": "code", - "execution_count": 61, + "execution_count": 62, "id": "f078c8a6", "metadata": {}, "outputs": [], @@ -1100,7 +1100,7 @@ }, { "cell_type": "code", - "execution_count": 62, + "execution_count": 63, "id": "54030d8f", "metadata": {}, "outputs": [], @@ -1132,7 +1132,7 @@ }, { "cell_type": "code", - "execution_count": 63, + "execution_count": 64, "id": "ef158f81", "metadata": {}, "outputs": [], @@ -1150,7 +1150,7 @@ }, { "cell_type": "code", - "execution_count": 64, + "execution_count": 65, "id": "d3607b8d", "metadata": {}, "outputs": [], @@ -1170,7 +1170,7 @@ }, { "cell_type": "code", - "execution_count": 65, + "execution_count": 66, "id": "692d9cf8", "metadata": {}, "outputs": [], @@ -1199,7 +1199,7 @@ "Lists, dictionaries and tuples are **data structures**.\n", "In this chapter we are starting to see compound data structures, like lists of tuples, or dictionaries that contain tuples as keys and lists as values.\n", "Compound data structures are useful, but they are prone to errors caused when a data structure has the wrong type, size, or structure.\n", - "For example, if a function expects a list if integers and you give it a plain old integer\n", + "For example, if a function expects a list of integers and you give it a plain old integer\n", "(not in a list), it probably won't work.\n", "\n", "To help debug these kinds of errors, I wrote a module called `structshape` that provides a function, also called `structshape`, that takes any kind of data structure as an argument and returns a string that summarizes its structure.\n", @@ -1209,7 +1209,7 @@ }, { "cell_type": "code", - "execution_count": 66, + "execution_count": 67, "id": "e9f03e91", "metadata": { "tags": [] @@ -1227,7 +1227,7 @@ }, { "cell_type": "code", - "execution_count": 67, + "execution_count": 68, "id": "90ab624a", "metadata": {}, "outputs": [], @@ -1243,7 +1243,7 @@ }, { "cell_type": "code", - "execution_count": 68, + "execution_count": 69, "id": "6794330f", "metadata": {}, "outputs": [], @@ -1259,7 +1259,7 @@ }, { "cell_type": "code", - "execution_count": 69, + "execution_count": 70, "id": "54cd185b", "metadata": {}, "outputs": [], @@ -1276,7 +1276,7 @@ }, { "cell_type": "code", - "execution_count": 70, + "execution_count": 71, "id": "04028afd", "metadata": {}, "outputs": [], @@ -1292,7 +1292,7 @@ }, { "cell_type": "code", - "execution_count": 71, + "execution_count": 72, "id": "b5d45c88", "metadata": {}, "outputs": [], @@ -1308,7 +1308,7 @@ }, { "cell_type": "code", - "execution_count": 72, + "execution_count": 73, "id": "15131907", "metadata": {}, "outputs": [], @@ -1359,7 +1359,7 @@ }, { "cell_type": "code", - "execution_count": 73, + "execution_count": 74, "id": "c65d68d2", "metadata": { "tags": [] @@ -1400,7 +1400,7 @@ }, { "cell_type": "code", - "execution_count": 74, + "execution_count": 75, "id": "4416fe4a", "metadata": {}, "outputs": [], @@ -1416,7 +1416,7 @@ }, { "cell_type": "code", - "execution_count": 75, + "execution_count": 76, "id": "e6eda0e4", "metadata": { "tags": [] @@ -1434,7 +1434,7 @@ }, { "cell_type": "code", - "execution_count": 76, + "execution_count": 77, "id": "4fae1acc", "metadata": { "tags": [] @@ -1464,7 +1464,7 @@ }, { "cell_type": "code", - "execution_count": 77, + "execution_count": 78, "id": "855c7ed2", "metadata": {}, "outputs": [], @@ -1480,7 +1480,7 @@ }, { "cell_type": "code", - "execution_count": 78, + "execution_count": 79, "id": "3c921f68", "metadata": {}, "outputs": [], @@ -1497,7 +1497,7 @@ }, { "cell_type": "code", - "execution_count": 79, + "execution_count": 80, "id": "b029b0da", "metadata": {}, "outputs": [], @@ -1534,7 +1534,7 @@ }, { "cell_type": "code", - "execution_count": 80, + "execution_count": 81, "id": "1cc07036", "metadata": { "tags": [] @@ -1544,7 +1544,7 @@ }, { "cell_type": "code", - "execution_count": 81, + "execution_count": 82, "id": "96560a0e", "metadata": {}, "outputs": [], @@ -1552,7 +1552,7 @@ }, { "cell_type": "code", - "execution_count": 82, + "execution_count": 83, "id": "c026c6d1", "metadata": { "tags": [] @@ -1562,7 +1562,7 @@ }, { "cell_type": "code", - "execution_count": 83, + "execution_count": 84, "id": "5814999d", "metadata": { "tags": [] @@ -1582,7 +1582,7 @@ }, { "cell_type": "code", - "execution_count": 84, + "execution_count": 85, "id": "9464d140", "metadata": { "tags": [] @@ -1614,7 +1614,7 @@ }, { "cell_type": "code", - "execution_count": 85, + "execution_count": 86, "id": "4309d0b5", "metadata": { "tags": [] @@ -1624,7 +1624,7 @@ }, { "cell_type": "code", - "execution_count": 86, + "execution_count": 87, "id": "52228828", "metadata": {}, "outputs": [], @@ -1642,7 +1642,7 @@ }, { "cell_type": "code", - "execution_count": 87, + "execution_count": 88, "id": "3bf2aa0d", "metadata": { "tags": [] @@ -1662,7 +1662,7 @@ }, { "cell_type": "code", - "execution_count": 88, + "execution_count": 89, "id": "e4fbf5d9", "metadata": { "tags": [] @@ -1672,7 +1672,7 @@ }, { "cell_type": "code", - "execution_count": 89, + "execution_count": 90, "id": "817ec689", "metadata": { "tags": [] @@ -1724,7 +1724,7 @@ }, { "cell_type": "code", - "execution_count": 90, + "execution_count": 91, "id": "941719c1", "metadata": { "tags": [] @@ -1734,7 +1734,7 @@ }, { "cell_type": "code", - "execution_count": 91, + "execution_count": 92, "id": "d2ec641b", "metadata": { "tags": [] @@ -1754,7 +1754,7 @@ }, { "cell_type": "code", - "execution_count": 92, + "execution_count": 93, "id": "7ae29f73", "metadata": { "tags": [] @@ -1764,7 +1764,7 @@ }, { "cell_type": "code", - "execution_count": 93, + "execution_count": 94, "id": "013819a5", "metadata": {}, "outputs": [], @@ -1783,7 +1783,7 @@ }, { "cell_type": "code", - "execution_count": 94, + "execution_count": 95, "id": "fbf9ede3", "metadata": { "tags": [] @@ -1803,7 +1803,7 @@ }, { "cell_type": "code", - "execution_count": 95, + "execution_count": 96, "id": "55435050", "metadata": { "tags": [] @@ -1823,7 +1823,7 @@ }, { "cell_type": "code", - "execution_count": 96, + "execution_count": 97, "id": "6a9320c2", "metadata": { "tags": [] @@ -1855,7 +1855,7 @@ }, { "cell_type": "code", - "execution_count": 97, + "execution_count": 98, "id": "3d5a75f8", "metadata": { "tags": [] @@ -1865,7 +1865,7 @@ }, { "cell_type": "code", - "execution_count": 98, + "execution_count": 99, "id": "a9816dde", "metadata": {}, "outputs": [], @@ -1873,7 +1873,7 @@ }, { "cell_type": "code", - "execution_count": 99, + "execution_count": 100, "id": "753a23c1", "metadata": { "tags": [] @@ -1899,7 +1899,7 @@ }, { "cell_type": "code", - "execution_count": 100, + "execution_count": 101, "id": "57649075", "metadata": {}, "outputs": [], @@ -1959,7 +1959,7 @@ }, { "cell_type": "code", - "execution_count": 101, + "execution_count": 102, "id": "c19bf833", "metadata": {}, "outputs": [], @@ -1967,7 +1967,7 @@ }, { "cell_type": "code", - "execution_count": 102, + "execution_count": 103, "id": "2d9764d6", "metadata": {}, "outputs": [], @@ -1975,7 +1975,7 @@ }, { "cell_type": "code", - "execution_count": 103, + "execution_count": 104, "id": "5e4f5d8e", "metadata": {}, "outputs": [], @@ -1983,7 +1983,7 @@ }, { "cell_type": "code", - "execution_count": 104, + "execution_count": 105, "id": "27d311dd", "metadata": {}, "outputs": [], @@ -1991,19 +1991,27 @@ }, { "cell_type": "code", - "execution_count": 105, + "execution_count": 106, "id": "68c27c7e", "metadata": {}, "outputs": [], "source": [] }, { - "cell_type": "code", - "execution_count": null, - "id": "a34c2014", - "metadata": {}, - "outputs": [], - "source": [] + "cell_type": "markdown", + "id": "a7f4edf8", + "metadata": { + "tags": [] + }, + "source": [ + "[Think Python: 3rd Edition](https://allendowney.github.io/ThinkPython/index.html)\n", + "\n", + "Copyright 2024 [Allen B. Downey](https://allendowney.com)\n", + "\n", + "Code license: [MIT License](https://mit-license.org/)\n", + "\n", + "Text license: [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-nc-sa/4.0/)" + ] } ], "metadata": { @@ -2023,7 +2031,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.14" + "version": "3.10.11" } }, "nbformat": 4, diff --git a/blank/chap12.ipynb b/blank/chap12.ipynb index d9ac117..220b664 100644 --- a/blank/chap12.ipynb +++ b/blank/chap12.ipynb @@ -27,7 +27,7 @@ "source": [ "# Text Analysis and Generation\n", "\n", - "At this point we have covered Python's core data structures -- lists, dictionaries, and tuples -- and and some algorithms that use them.\n", + "At this point we have covered Python's core data structures -- lists, dictionaries, and tuples -- and some algorithms that use them.\n", "In this chapter, we'll use them to explore text analysis and Markov generation:\n", "\n", "* Text analysis is a way to describe the statistical relationships between the words in a document, like the probability that one word is followed by another, and\n", @@ -1771,6 +1771,22 @@ "metadata": {}, "outputs": [], "source": [] + }, + { + "cell_type": "markdown", + "id": "a7f4edf8", + "metadata": { + "tags": [] + }, + "source": [ + "[Think Python: 3rd Edition](https://allendowney.github.io/ThinkPython/index.html)\n", + "\n", + "Copyright 2024 [Allen B. Downey](https://allendowney.com)\n", + "\n", + "Code license: [MIT License](https://mit-license.org/)\n", + "\n", + "Text license: [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-nc-sa/4.0/)" + ] } ], "metadata": { diff --git a/blank/chap13.ipynb b/blank/chap13.ipynb index e346fce..69616a9 100644 --- a/blank/chap13.ipynb +++ b/blank/chap13.ipynb @@ -283,7 +283,7 @@ "id": "f652aaac", "metadata": {}, "source": [ - "To write this data to a file, you can use the `write` method, which we saw in [Chapter 8](section_writing_files).\n", + "To write this data to a file, you can use the `write` method, which we saw in Chapter 8.\n", "The argument of `write` has to be a string, so if we want to put other values in a file, we have to convert them to strings.\n", "The easiest way to do that is with the built-in function `str`.\n", "\n", @@ -1634,6 +1634,22 @@ "metadata": {}, "outputs": [], "source": [] + }, + { + "cell_type": "markdown", + "id": "a7f4edf8", + "metadata": { + "tags": [] + }, + "source": [ + "[Think Python: 3rd Edition](https://allendowney.github.io/ThinkPython/index.html)\n", + "\n", + "Copyright 2024 [Allen B. Downey](https://allendowney.com)\n", + "\n", + "Code license: [MIT License](https://mit-license.org/)\n", + "\n", + "Text license: [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-nc-sa/4.0/)" + ] } ], "metadata": { diff --git a/blank/chap14.ipynb b/blank/chap14.ipynb index c9b0f0f..38aaffc 100644 --- a/blank/chap14.ipynb +++ b/blank/chap14.ipynb @@ -1415,6 +1415,22 @@ "id": "d6f1cc2f", "metadata": {}, "source": [] + }, + { + "cell_type": "markdown", + "id": "a7f4edf8", + "metadata": { + "tags": [] + }, + "source": [ + "[Think Python: 3rd Edition](https://allendowney.github.io/ThinkPython/index.html)\n", + "\n", + "Copyright 2024 [Allen B. Downey](https://allendowney.com)\n", + "\n", + "Code license: [MIT License](https://mit-license.org/)\n", + "\n", + "Text license: [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-nc-sa/4.0/)" + ] } ], "metadata": { diff --git a/blank/chap15.ipynb b/blank/chap15.ipynb index dc133c2..2ffde33 100644 --- a/blank/chap15.ipynb +++ b/blank/chap15.ipynb @@ -881,6 +881,22 @@ "metadata": {}, "outputs": [], "source": [] + }, + { + "cell_type": "markdown", + "id": "a7f4edf8", + "metadata": { + "tags": [] + }, + "source": [ + "[Think Python: 3rd Edition](https://allendowney.github.io/ThinkPython/index.html)\n", + "\n", + "Copyright 2024 [Allen B. Downey](https://allendowney.com)\n", + "\n", + "Code license: [MIT License](https://mit-license.org/)\n", + "\n", + "Text license: [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-nc-sa/4.0/)" + ] } ], "metadata": { diff --git a/blank/chap16.ipynb b/blank/chap16.ipynb index 987c2cc..4309183 100644 --- a/blank/chap16.ipynb +++ b/blank/chap16.ipynb @@ -1508,6 +1508,22 @@ "metadata": {}, "outputs": [], "source": [] + }, + { + "cell_type": "markdown", + "id": "a7f4edf8", + "metadata": { + "tags": [] + }, + "source": [ + "[Think Python: 3rd Edition](https://allendowney.github.io/ThinkPython/index.html)\n", + "\n", + "Copyright 2024 [Allen B. Downey](https://allendowney.com)\n", + "\n", + "Code license: [MIT License](https://mit-license.org/)\n", + "\n", + "Text license: [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-nc-sa/4.0/)" + ] } ], "metadata": { diff --git a/blank/chap17.ipynb b/blank/chap17.ipynb index eb14274..bc6b43e 100644 --- a/blank/chap17.ipynb +++ b/blank/chap17.ipynb @@ -2102,6 +2102,22 @@ "metadata": {}, "outputs": [], "source": [] + }, + { + "cell_type": "markdown", + "id": "a7f4edf8", + "metadata": { + "tags": [] + }, + "source": [ + "[Think Python: 3rd Edition](https://allendowney.github.io/ThinkPython/index.html)\n", + "\n", + "Copyright 2024 [Allen B. Downey](https://allendowney.com)\n", + "\n", + "Code license: [MIT License](https://mit-license.org/)\n", + "\n", + "Text license: [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-nc-sa/4.0/)" + ] } ], "metadata": { diff --git a/blank/chap18.ipynb b/blank/chap18.ipynb index 8487e41..6a069c1 100644 --- a/blank/chap18.ipynb +++ b/blank/chap18.ipynb @@ -1513,7 +1513,7 @@ "metadata": {}, "source": [ "`run_unittest` does not take `TestExample` as an argument -- instead, it searches for classes that inherit from `TestCase`.\n", - "Then is searches for methods that begin with `test` and runs them.\n", + "Then it searches for methods that begin with `test` and runs them.\n", "This process is called **test discovery**.\n", "\n", "Here's what happens when we call `run_unittest`." @@ -2045,6 +2045,22 @@ "metadata": {}, "outputs": [], "source": [] + }, + { + "cell_type": "markdown", + "id": "a7f4edf8", + "metadata": { + "tags": [] + }, + "source": [ + "[Think Python: 3rd Edition](https://allendowney.github.io/ThinkPython/index.html)\n", + "\n", + "Copyright 2024 [Allen B. Downey](https://allendowney.com)\n", + "\n", + "Code license: [MIT License](https://mit-license.org/)\n", + "\n", + "Text license: [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-nc-sa/4.0/)" + ] } ], "metadata": { diff --git a/blank/chap19.ipynb b/blank/chap19.ipynb index 190c3e6..4d86fb8 100644 --- a/blank/chap19.ipynb +++ b/blank/chap19.ipynb @@ -146,6 +146,22 @@ "metadata": {}, "outputs": [], "source": [] + }, + { + "cell_type": "markdown", + "id": "a7f4edf8", + "metadata": { + "tags": [] + }, + "source": [ + "[Think Python: 3rd Edition](https://allendowney.github.io/ThinkPython/index.html)\n", + "\n", + "Copyright 2024 [Allen B. Downey](https://allendowney.com)\n", + "\n", + "Code license: [MIT License](https://mit-license.org/)\n", + "\n", + "Text license: [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-nc-sa/4.0/)" + ] } ], "metadata": { From 7cf11d17acc9e84e12b96a0ce760628f9a4ad45e Mon Sep 17 00:00:00 2001 From: Allen Downey Date: Sun, 19 Jan 2025 15:02:28 -0500 Subject: [PATCH 04/30] Updating the notebooks --- chapters/chap03.ipynb | 5 ++++- chapters/chap06.ipynb | 9 ++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/chapters/chap03.ipynb b/chapters/chap03.ipynb index 7eae21b..5f2cb1d 100644 --- a/chapters/chap03.ipynb +++ b/chapters/chap03.ipynb @@ -606,7 +606,10 @@ "width, height, x, y = [3.77, 2.9, 1.1, 2.65]\n", "ax = diagram(width, height)\n", "bbox = stack.draw(ax, x, y)\n", - "# adjust(x, y, bbox)" + "# adjust(x, y, bbox)\n", + "\n", + "import matplotlib.pyplot as plt\n", + "plt.savefig('chap03_stack_diagram.png', dpi=300)" ] }, { diff --git a/chapters/chap06.ipynb b/chapters/chap06.ipynb index 1d30683..5b082b8 100644 --- a/chapters/chap06.ipynb +++ b/chapters/chap06.ipynb @@ -1039,7 +1039,7 @@ }, { "cell_type": "code", - "execution_count": 130, + "execution_count": 1, "id": "455f0457", "metadata": { "tags": [] @@ -1063,7 +1063,7 @@ " loc='left', dx=1.2)\n", " frames.append(frame)\n", " \n", - "binding1 = make_binding('n', n)\n", + "binding1 = make_binding('n', 0)\n", "frame = Frame([binding1], name='factorial', value=1, \n", " shim=1.2, loc='left', dx=1.4)\n", "frames.append(frame)\n", @@ -1073,7 +1073,7 @@ }, { "cell_type": "code", - "execution_count": 131, + "execution_count": 4, "id": "a75ccd9b", "metadata": { "tags": [] @@ -1197,8 +1197,7 @@ "id": "0bec7ba4", "metadata": {}, "source": [ - "It looks like an infinite recursion. How can that be? The function has a\n", - "base case -- when `n == 0`.\n", + "It looks like an infinite recursion. How can that be? The function has base cases when `n == 1` or `n == 0`.\n", "But if `n` is not an integer, we can *miss* the base case and recurse forever.\n", "\n", "In this example, the initial value of `n` is `1.5`.\n", From 8e938813eeeb198c5150f97a4fcdf433aa07e0e1 Mon Sep 17 00:00:00 2001 From: Allen Downey Date: Sun, 19 Jan 2025 15:02:28 -0500 Subject: [PATCH 05/30] Updating the zip file --- ThinkPythonNotebooks.zip | Bin 579347 -> 579404 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/ThinkPythonNotebooks.zip b/ThinkPythonNotebooks.zip index 4a991b95695c6d9a7b1638b4d3a26a787182967c..b2edbef5fd72d6ef0791d5b52d8f12289ae8e4e4 100644 GIT binary patch delta 14208 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�T-p&; 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 delta 14153 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 Date: Wed, 22 Jan 2025 13:14:18 -0500 Subject: [PATCH 06/30] Updating the notebooks --- chapters/chap06.ipynb | 172 +++++++++++++++++++++--------------------- chapters/chap08.ipynb | 2 +- 2 files changed, 87 insertions(+), 87 deletions(-) diff --git a/chapters/chap06.ipynb b/chapters/chap06.ipynb index 5b082b8..a8d03c3 100644 --- a/chapters/chap06.ipynb +++ b/chapters/chap06.ipynb @@ -12,7 +12,7 @@ }, { "cell_type": "code", - "execution_count": 87, + "execution_count": 5, "id": "56b1c184", "metadata": { "tags": [] @@ -66,7 +66,7 @@ }, { "cell_type": "code", - "execution_count": 88, + "execution_count": 6, "id": "e0e1dd91", "metadata": {}, "outputs": [], @@ -86,7 +86,7 @@ }, { "cell_type": "code", - "execution_count": 89, + "execution_count": 7, "id": "5aaf62d2", "metadata": {}, "outputs": [], @@ -104,7 +104,7 @@ }, { "cell_type": "code", - "execution_count": 90, + "execution_count": 8, "id": "741f7386", "metadata": {}, "outputs": [], @@ -122,7 +122,7 @@ }, { "cell_type": "code", - "execution_count": 91, + "execution_count": 9, "id": "e56d39c4", "metadata": {}, "outputs": [], @@ -140,7 +140,7 @@ }, { "cell_type": "code", - "execution_count": 92, + "execution_count": 10, "id": "50a9a9be", "metadata": {}, "outputs": [], @@ -164,7 +164,7 @@ }, { "cell_type": "code", - "execution_count": 93, + "execution_count": 11, "id": "d70fd9b5", "metadata": {}, "outputs": [], @@ -182,7 +182,7 @@ }, { "cell_type": "code", - "execution_count": 94, + "execution_count": 12, "id": "ef20ba8c", "metadata": {}, "outputs": [], @@ -200,7 +200,7 @@ }, { "cell_type": "code", - "execution_count": 95, + "execution_count": 13, "id": "0a4670f4", "metadata": {}, "outputs": [], @@ -218,7 +218,7 @@ }, { "cell_type": "code", - "execution_count": 96, + "execution_count": 14, "id": "6e6460b9", "metadata": {}, "outputs": [], @@ -236,7 +236,7 @@ }, { "cell_type": "code", - "execution_count": 97, + "execution_count": 15, "id": "77613df9", "metadata": { "tags": [] @@ -269,7 +269,7 @@ }, { "cell_type": "code", - "execution_count": 98, + "execution_count": 16, "id": "89c083f8", "metadata": {}, "outputs": [], @@ -288,7 +288,7 @@ }, { "cell_type": "code", - "execution_count": 99, + "execution_count": 17, "id": "737b67ca", "metadata": {}, "outputs": [], @@ -307,7 +307,7 @@ }, { "cell_type": "code", - "execution_count": 100, + "execution_count": 18, "id": "9b4fa14f", "metadata": {}, "outputs": [], @@ -325,7 +325,7 @@ }, { "cell_type": "code", - "execution_count": 101, + "execution_count": 19, "id": "50f96bcb", "metadata": {}, "outputs": [], @@ -344,7 +344,7 @@ }, { "cell_type": "code", - "execution_count": 102, + "execution_count": 20, "id": "6712f2df", "metadata": {}, "outputs": [], @@ -364,7 +364,7 @@ }, { "cell_type": "code", - "execution_count": 103, + "execution_count": 21, "id": "0ec1afd3", "metadata": {}, "outputs": [], @@ -386,7 +386,7 @@ }, { "cell_type": "code", - "execution_count": 104, + "execution_count": 22, "id": "c82334b6", "metadata": {}, "outputs": [], @@ -404,7 +404,7 @@ }, { "cell_type": "code", - "execution_count": 105, + "execution_count": 23, "id": "595ec598", "metadata": {}, "outputs": [], @@ -432,7 +432,7 @@ }, { "cell_type": "code", - "execution_count": 106, + "execution_count": 24, "id": "236c59e6", "metadata": {}, "outputs": [], @@ -459,7 +459,7 @@ }, { "cell_type": "code", - "execution_count": 107, + "execution_count": 25, "id": "2f60639c", "metadata": {}, "outputs": [], @@ -481,7 +481,7 @@ }, { "cell_type": "code", - "execution_count": 108, + "execution_count": 26, "id": "c9dae6c8", "metadata": {}, "outputs": [], @@ -501,7 +501,7 @@ }, { "cell_type": "code", - "execution_count": 109, + "execution_count": 27, "id": "c8c4edee", "metadata": {}, "outputs": [], @@ -555,7 +555,7 @@ }, { "cell_type": "code", - "execution_count": 110, + "execution_count": 28, "id": "bbcab1ed", "metadata": {}, "outputs": [], @@ -577,7 +577,7 @@ }, { "cell_type": "code", - "execution_count": 111, + "execution_count": 29, "id": "923d96db", "metadata": {}, "outputs": [], @@ -601,7 +601,7 @@ }, { "cell_type": "code", - "execution_count": 112, + "execution_count": 30, "id": "9374cfe3", "metadata": {}, "outputs": [], @@ -627,7 +627,7 @@ }, { "cell_type": "code", - "execution_count": 113, + "execution_count": 31, "id": "405af839", "metadata": {}, "outputs": [], @@ -645,7 +645,7 @@ }, { "cell_type": "code", - "execution_count": 114, + "execution_count": 32, "id": "e52b3b04", "metadata": {}, "outputs": [], @@ -668,7 +668,7 @@ }, { "cell_type": "code", - "execution_count": 115, + "execution_count": 33, "id": "38eebbf3", "metadata": {}, "outputs": [], @@ -686,7 +686,7 @@ }, { "cell_type": "code", - "execution_count": 116, + "execution_count": 34, "id": "b4536ea0", "metadata": {}, "outputs": [], @@ -709,7 +709,7 @@ }, { "cell_type": "code", - "execution_count": 117, + "execution_count": 35, "id": "325efb93", "metadata": {}, "outputs": [], @@ -729,7 +729,7 @@ }, { "cell_type": "code", - "execution_count": 118, + "execution_count": 36, "id": "3cd982ce", "metadata": {}, "outputs": [], @@ -753,7 +753,7 @@ }, { "cell_type": "code", - "execution_count": 119, + "execution_count": 37, "id": "c734f5b2", "metadata": {}, "outputs": [], @@ -771,7 +771,7 @@ }, { "cell_type": "code", - "execution_count": 120, + "execution_count": 38, "id": "094a242f", "metadata": {}, "outputs": [], @@ -813,7 +813,7 @@ }, { "cell_type": "code", - "execution_count": 121, + "execution_count": 39, "id": "64207948", "metadata": {}, "outputs": [], @@ -835,7 +835,7 @@ }, { "cell_type": "code", - "execution_count": 122, + "execution_count": 40, "id": "c367cdae", "metadata": {}, "outputs": [], @@ -845,7 +845,7 @@ }, { "cell_type": "code", - "execution_count": 123, + "execution_count": 41, "id": "837f4f95", "metadata": {}, "outputs": [], @@ -864,7 +864,7 @@ }, { "cell_type": "code", - "execution_count": 124, + "execution_count": 42, "id": "e411354f", "metadata": {}, "outputs": [], @@ -883,7 +883,7 @@ }, { "cell_type": "code", - "execution_count": 125, + "execution_count": 43, "id": "925e7d4f", "metadata": {}, "outputs": [], @@ -902,7 +902,7 @@ }, { "cell_type": "code", - "execution_count": 126, + "execution_count": 44, "id": "62178e75", "metadata": {}, "outputs": [], @@ -949,7 +949,7 @@ }, { "cell_type": "code", - "execution_count": 127, + "execution_count": 45, "id": "23e37c79", "metadata": {}, "outputs": [], @@ -968,7 +968,7 @@ }, { "cell_type": "code", - "execution_count": 128, + "execution_count": 46, "id": "5ea57d9f", "metadata": {}, "outputs": [], @@ -991,7 +991,7 @@ }, { "cell_type": "code", - "execution_count": 129, + "execution_count": 47, "id": "b66e670b", "metadata": {}, "outputs": [], @@ -1039,7 +1039,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 48, "id": "455f0457", "metadata": { "tags": [] @@ -1073,7 +1073,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 49, "id": "a75ccd9b", "metadata": { "tags": [] @@ -1142,7 +1142,7 @@ }, { "cell_type": "code", - "execution_count": 132, + "execution_count": 50, "id": "cad75752", "metadata": {}, "outputs": [], @@ -1180,7 +1180,7 @@ }, { "cell_type": "code", - "execution_count": 133, + "execution_count": 51, "id": "5e4b5f1d", "metadata": { "tags": [] @@ -1211,7 +1211,7 @@ }, { "cell_type": "code", - "execution_count": 134, + "execution_count": 52, "id": "3f607dff", "metadata": {}, "outputs": [], @@ -1221,7 +1221,7 @@ }, { "cell_type": "code", - "execution_count": 135, + "execution_count": 53, "id": "ab638bfe", "metadata": {}, "outputs": [], @@ -1239,7 +1239,7 @@ }, { "cell_type": "code", - "execution_count": 136, + "execution_count": 54, "id": "73aafac0", "metadata": {}, "outputs": [], @@ -1269,7 +1269,7 @@ }, { "cell_type": "code", - "execution_count": 137, + "execution_count": 55, "id": "be881cb7", "metadata": {}, "outputs": [], @@ -1288,7 +1288,7 @@ }, { "cell_type": "code", - "execution_count": 138, + "execution_count": 56, "id": "fa83014f", "metadata": {}, "outputs": [], @@ -1337,7 +1337,7 @@ }, { "cell_type": "code", - "execution_count": 139, + "execution_count": 57, "id": "1d50479e", "metadata": {}, "outputs": [], @@ -1366,7 +1366,7 @@ }, { "cell_type": "code", - "execution_count": 140, + "execution_count": 58, "id": "798db5c4", "metadata": {}, "outputs": [], @@ -1423,7 +1423,7 @@ }, { "cell_type": "code", - "execution_count": 142, + "execution_count": 59, "id": "e0f15ca4", "metadata": { "tags": [] @@ -1448,7 +1448,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 60, "id": "90b4979f", "metadata": {}, "outputs": [], @@ -1470,7 +1470,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 61, "id": "9217f038", "metadata": {}, "outputs": [], @@ -1494,7 +1494,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 62, "id": "3168489b", "metadata": {}, "outputs": [], @@ -1533,7 +1533,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 63, "id": "62267fa3", "metadata": {}, "outputs": [], @@ -1543,7 +1543,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 64, "id": "5f8fa829", "metadata": {}, "outputs": [], @@ -1553,7 +1553,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 65, "id": "3d129b03", "metadata": {}, "outputs": [], @@ -1563,7 +1563,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 66, "id": "030179b6", "metadata": {}, "outputs": [], @@ -1573,7 +1573,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 67, "id": "d737b468", "metadata": {}, "outputs": [], @@ -1583,7 +1583,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 68, "id": "77a74879", "metadata": {}, "outputs": [], @@ -1593,7 +1593,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 69, "id": "0521d267", "metadata": {}, "outputs": [], @@ -1603,7 +1603,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 70, "id": "468a31e9", "metadata": {}, "outputs": [], @@ -1613,7 +1613,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 71, "id": "abbe3ebf", "metadata": {}, "outputs": [], @@ -1623,7 +1623,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 72, "id": "651295e4", "metadata": {}, "outputs": [], @@ -1644,7 +1644,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 73, "id": "0a4ee482", "metadata": {}, "outputs": [], @@ -1664,7 +1664,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 74, "id": "956ed6d7", "metadata": { "tags": [] @@ -1676,7 +1676,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 75, "id": "a994eaa6", "metadata": { "tags": [] @@ -1688,7 +1688,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 76, "id": "4318028d", "metadata": { "tags": [] @@ -1700,7 +1700,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 77, "id": "05208c8b", "metadata": { "tags": [] @@ -1733,7 +1733,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 78, "id": "7eb85c5c", "metadata": {}, "outputs": [], @@ -1753,7 +1753,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 79, "id": "687a3e5a", "metadata": { "tags": [] @@ -1765,7 +1765,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 80, "id": "c49e9749", "metadata": { "tags": [] @@ -1777,7 +1777,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 81, "id": "8497dec4", "metadata": { "tags": [] @@ -1799,7 +1799,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 82, "id": "76be4d15", "metadata": { "tags": [] @@ -1838,7 +1838,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 83, "id": "0bcba5fe", "metadata": {}, "outputs": [], @@ -1858,7 +1858,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 84, "id": "4b6656e6", "metadata": { "tags": [] @@ -1870,7 +1870,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 85, "id": "36d9e92a", "metadata": { "tags": [] @@ -1882,7 +1882,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 86, "id": "1d944b42", "metadata": { "tags": [] @@ -1894,7 +1894,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 87, "id": "63ec57c9", "metadata": { "tags": [] @@ -1924,7 +1924,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 88, "id": "4e067bfb", "metadata": {}, "outputs": [], @@ -1944,7 +1944,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 89, "id": "2a7c1c21", "metadata": { "tags": [] @@ -1956,7 +1956,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 90, "id": "5df00229", "metadata": { "tags": [] diff --git a/chapters/chap08.ipynb b/chapters/chap08.ipynb index 1323762..0108312 100644 --- a/chapters/chap08.ipynb +++ b/chapters/chap08.ipynb @@ -862,7 +862,7 @@ "id": "34c93df3", "metadata": {}, "source": [ - "The `endswidth` method checks whether a string ends with a given sequence of characters." + "The `endswith` method checks whether a string ends with a given sequence of characters." ] }, { From 3ae2ff0220806fd7dedf700cb4228348bbb703a3 Mon Sep 17 00:00:00 2001 From: Allen Downey Date: Wed, 22 Jan 2025 13:14:18 -0500 Subject: [PATCH 07/30] Updating the zip file --- ThinkPythonNotebooks.zip | Bin 579404 -> 579477 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/ThinkPythonNotebooks.zip b/ThinkPythonNotebooks.zip index b2edbef5fd72d6ef0791d5b52d8f12289ae8e4e4..399eaa47912696864c5f3c3b0beab0e0f0a06345 100644 GIT binary patch delta 24969 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

01mLPT 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 From c0622875baafe2b19d406b2b85ee24847898dd5d Mon Sep 17 00:00:00 2001 From: Allen Downey Date: Tue, 28 Jan 2025 09:39:03 -0500 Subject: [PATCH 08/30] Updating the notebooks --- chapters/chap00.ipynb | 4 ++-- chapters/chap10.ipynb | 12 ------------ 2 files changed, 2 insertions(+), 14 deletions(-) diff --git a/chapters/chap00.ipynb b/chapters/chap00.ipynb index 55b62c2..b42d9c0 100644 --- a/chapters/chap00.ipynb +++ b/chapters/chap00.ipynb @@ -171,9 +171,9 @@ "\n", "If you are teaching with this book, here are some resources you might find useful.\n", "\n", - "* You can find notebooks with solutions to the exercises from , along with links to the additional resources below.\n", + "* You can find notebooks with solutions to the exercises at , along with links to the additional resources below.\n", "\n", - "* Quizzes for each chapter, and a summative quiz for the whole book, are available from [COMING SOON]\n", + "* Quizzes for each chapter, and a summative quiz for the whole book, are available on request.\n", "\n", "* *Teaching and Learning with Jupyter* is an online book with suggestions for using Jupyter effectively in the classroom. You can read the book at \n", "\n", diff --git a/chapters/chap10.ipynb b/chapters/chap10.ipynb index 51dac26..5a0f8eb 100644 --- a/chapters/chap10.ipynb +++ b/chapters/chap10.ipynb @@ -611,18 +611,6 @@ "The time it takes to find a key in a dictionary is almost constant -- regardless of the number of items." ] }, - { - "cell_type": "code", - "execution_count": 63, - "id": "aa079ed3", - "metadata": {}, - "outputs": [], - "source": [ - "d = {'a': 1, 'b': 2}\n", - "d['a'] = 3\n", - "d" - ] - }, { "cell_type": "markdown", "id": "b3bfa8a5", From 1a14dace0632cb3396c5f74ffa8de856b24482e6 Mon Sep 17 00:00:00 2001 From: Allen Downey Date: Tue, 28 Jan 2025 09:39:03 -0500 Subject: [PATCH 09/30] Updating the zip file --- ThinkPythonNotebooks.zip | Bin 579477 -> 579434 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/ThinkPythonNotebooks.zip b/ThinkPythonNotebooks.zip index 399eaa47912696864c5f3c3b0beab0e0f0a06345..07539c066b1a05adc740e1122617f4eb47f99d9e 100644 GIT binary patch delta 18029 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 Date: Tue, 28 Jan 2025 09:45:46 -0500 Subject: [PATCH 10/30] Updating the notebooks --- chapters/chap18.ipynb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/chapters/chap18.ipynb b/chapters/chap18.ipynb index 2cc91a5..1955731 100644 --- a/chapters/chap18.ipynb +++ b/chapters/chap18.ipynb @@ -2027,9 +2027,9 @@ "\n", "* \"How does `unittest` do test discovery?\"\n", "\n", - "\"Along with `assertEqual`, what are the most commonly used methods in `unittest.TestCase`?\"\n", + "* \"Along with `assertEqual`, what are the most commonly used methods in `unittest.TestCase`?\"\n", "\n", - "\"What are the pros and cons of `doctest` and `unittest`?\"\n", + "* \"What are the pros and cons of `doctest` and `unittest`?\"\n", "\n", "For the following exercises, consider asking an AI for help, but as always, remember to test the results." ] From 6c568d1594b0cf69bbff8c9098676c06d9d7fdbb Mon Sep 17 00:00:00 2001 From: Allen Downey Date: Tue, 28 Jan 2025 09:45:46 -0500 Subject: [PATCH 11/30] Updating the zip file --- ThinkPythonNotebooks.zip | Bin 579434 -> 579430 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/ThinkPythonNotebooks.zip b/ThinkPythonNotebooks.zip index 07539c066b1a05adc740e1122617f4eb47f99d9e..a5bf99e15c98281578c1afb321e547e86a37f39f 100644 GIT binary patch delta 3127 zcmZ9PX&{vA7r>kvTR4WmqDc%%Cmn*-RU=$W~k2_I|@y2KfJBL^@Gr#uKu_fR8@|n z-bDRu-9!|PbQl7Wt;XC*(oQo|kyF47fOV4tSMBZEcRy< zm)_#PR+*70ezx9wNw>-D!0jqA%o8mko)g00aeG9*ymGG#gX#NLUpS(lJdbcs(hd>%#nev z2t9$f%!6zFD67&$gsjcbzS%oVp)WZv>-o86-wfF2N;n5Lkf`$;*&GrZe|x&T3%(mH zcbgLlG~Rmw`z+jScLHZ2M-iy#dkx24cbC)p44>uEB>VT@NZqStEFc%0x{=yk7ySnL z5+4q^#jaX0tyb|BSzOR?Kf69>;O!QTCuxT5uI`yxPxZnq3t^x08|=lWeLJXgF6TVN zx+@%Ue$m||qdeKLBV0(k%|i-orRI5ZBNE$_3XX z|ES6cx?eIWMXiEK&TqN{^I>Ms`o|U%yrBDD+eq4Gl3I1;rhmkj=)q&Pm0ynVn;ra? zvbXWEenD26Kgqk}68?n*0hVJ)DdB;cbKY#w zlnku6%gaAlZ5!{o>aW1n2(!$924@|L;Gwsv6`PzXSbkZ&Zk(9Yl*Ph}f<;9?lI3)hnZadSsy+ z-aiUolandB!5_|LV6NPs+H-Z7?Lvpuw6*I*pM$UCY8R9711Ae+WB{!v-H=D4^^miO zrM`!Dsq0{NE!J#UoxhNP)-Bsy#1Gh1^Up^bd&RV$dJe>=Q%iZ{jB}L+3U+o5cyj0omFrrII!C%Ft9-lk8La}g z4@#)s51cq{Fnt}-%;aKPwCt_9gy!5Bip?}6I;|AhyLllMf|}*o6dl%vs3D2(^Kasc z#Xii47g}a3z6>V#c5Vof@D}RpMeb2IO}-cg>?zYc5?FGy6OEf)pjuZ(j2!nn#Nz+F zMR|Db#(VhC-H285wbvrOj=mM_S?&(Cf3CF|iaXNzDqXWy@=xwHnq7bPv180zgOfS? zWeV#s(V6qzGczYy@(p+HOkBrIhJBrr7UjTb=SG4*+()iy0yIo+p! z2-e$uA&7HQogE@^>Rlqg)Bn6h^gNo1Sn4@*l{ zae^9}XQ}j>0AI;XaNx`GtBed=}dJ>Udz$Fbw-kFk|M9HPmL?|V~h3*JH zJi>*iMLqellu73JGX)N&yUfSVzoz+MWVq-K*;Fq}n6arV<ifQQ1C*-E5#G}`tqD69x zX8I;wfk8GCM;x$6VY0;U<$y)JyzBkF_JOrnKd=A&Tho4p)A@X(#tZwpfjZX6TdUHRo`FbPaGX4uQ^ZhWlEkDb(gY| zY3*2a=(x2o6!W|wK(oZrFFyPgDSL{{!!Ga<770lq%~^jOVI%4^ZwdKegT~F(MWU}w zm@lDp8iKvkoptrTEr#@hi+q5HR`bvqHfgDwVd@gz+6x1xY6_}#dyNt+hw~mgH_0^J zc6P&=-&F9+)DPn-XtEoB7n$kDIk4r)yFSeqsW5C30~+xILeMAR1%AL#%2YDr5d}w; z-XM(&*vtfWUVf-K`7~w}V?7$Ge0S66x)>74a)o}Lg?$nn;|IiL?$JVqfy>q8w}ll- zk;oDSTgS~$IX+!SVU%@i(q|~q{srqWZ5-@ekCEX8rBHw%>f}*RVnS7GTtR~86U8Zu0$i zr35(-06!O`B+~=Hb}(%R^LDUo$DVrA18_2tvHI}#!cAbg%i!Q3T#&(Wy>J6q-Y;I< z#pZp#=NophaR2Z5#9h3+i_Z-FUjJwp9~}HWpS+7d>|*Po-|Jg;vH0-s`P5xZ+r?)` ze%0^V^?F9&YX5yINeWy5fE)lo(F4FCW@ZTR?=ymF6u1y@RRRF-O8|o4Ulh1D)E7jK r!tDTgB>*&6+LlS9aBUz;1psfU0Q}&aZGyr;u@`V17N8ft{h#oE)gHWu delta 3150 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 Date: Fri, 31 Jan 2025 09:22:05 -0500 Subject: [PATCH 12/30] Updating the notebooks --- chapters/chap10.ipynb | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/chapters/chap10.ipynb b/chapters/chap10.ipynb index 5a0f8eb..5788be5 100644 --- a/chapters/chap10.ipynb +++ b/chapters/chap10.ipynb @@ -1797,10 +1797,16 @@ "cell_type": "code", "execution_count": 70, "id": "e04a5c73", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ - "# Solution goes here" + "for word in word_list:\n", + " if len(word) >= 8 and is_interlocking(word):\n", + " first = word[0::2]\n", + " second = word[1::2]\n", + " print(word, first, second)" ] }, { From 2c7925f5160a63c8d04e4967b48cdf70a2e4467a Mon Sep 17 00:00:00 2001 From: Allen Downey Date: Fri, 31 Jan 2025 09:22:05 -0500 Subject: [PATCH 13/30] Updating the zip file --- ThinkPythonNotebooks.zip | Bin 579430 -> 579467 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/ThinkPythonNotebooks.zip b/ThinkPythonNotebooks.zip index a5bf99e15c98281578c1afb321e547e86a37f39f..34287ce1954d7fdba92e891792be28f43ced0e3a 100644 GIT binary patch delta 6437 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

GxcJ~ z6jGZqdME4?c(^cTaExWi+aq*Xd}w3*EiRo~l#1J5v1Vx-xKGX@W!luJUdx#G6_c)p zu9?4~Yn}^~lTwn}ly(z`(6n!8Rr|Cr%0dkvX@1k`HYe#Q$v)Z<45|wSry^-TJrjm9 zAUUReTxpu^0p=12+so^*zYz4{u8;X(r)hoteJ9oDx{nQizjp{yL)1UTo` zjy!EkjE_Xwj2wsOA;`rxW7etWi|1k}MN83QJv1rC7O2+QGYCw2Y}^L88K|63k6&*l zM2T@?HlGwe8YS#U^SlE6#86RY;muq)c_T70%D8~*U|&Y;E{PrMQW=%0jFNO#YvPfl zb&6FV%g5lJ-5({vK{f*qZJO|RXGq4Wyy&E2PWn+1U8s`{f%tsVlDmDOgykL9rs!z^ zubQ02d>UFpO3Qhki4`1xc79WyK+zn_l5(lqrJpboKD0oAVnV@9EggT*7(`AQVx$JI zCwBWHe_ER=ZPu)aAAXKtR?^(U5?v6nP)qJ5B8wj4Vr(Ik2ov=2sG2=?vy84zV|El! zL5ZNscE4!Ngp6^K4bOXd6zrMYt>kdJdXuMwL&F`8mFiePvQy*t)@G0io35oHv+CwmwlH7O{-6_V~y%c?3O@w18SRML0vxI46R~+fI9F#a3LLD3{;#J=|Z%8z*vk*pEM5Y$v3wSxB z%iUPmPn94So^@uW61keev#Ag+Fq)>0>0p^ZKC;){Gri=6{ZIumOl2cive+g8$Fz*E{q86BZgxZ>%!$xeSQ zKoi z3QT@9BmBk7w)3oLbqTb+q|{fcEpx@=l2y`3aheTvzoW3-+K(f;=05Njh#X> zP{AD1FmFRD{6=ILO!cApj3)AR77wUAJYEVTr_=G6fS9y%(d@fE%{^qt9Vr1wM$Q(Bso^?%C?IUy=&b5XFLy7 z9n=FZ$?x>1>xB-)Kh{=`jygoqSICN$Ad-<~5}AlT-pyntsUg-bMZmQkTA%#h%>w>vB44*L`*#B(xI z!Zg+0a1_Vt=g&{Yg)G$^_o%D{sNMMZyz%k_BmG&sq0#QB)#%R~~DA6WlpA{j~{5XIj_P_M6a@ zapBO_Z{A1Y;e6kXS33}@Nrk2^AU6HOOX2*q-W12xkHr~a@fH^yIkZznEZox9pKb6P zdTA8O&XK^2Kk$=&tot0OD&!O_XGj@j5Zg)wCn{{ki#=PKqkYCwyqBe*Jx3JTkUD_ZTH&tMm)`U-D`%@wJkAcrr8aGC^&~+3?AX2J zPF!!j3;*LD0Gs$8*clt)cXL^ZjS$ZH zz#(<{?pV z5cCWo?ErcL2T?pg;UGv3A^i`)9Qq4f|AyJWL3;SFEhT>g&d6UYJpP7-zd?5N_m;mK z;7_9VG=qu$7`Y6&?T}dKmzC0wBIG%K-r3{iqAbE`owbL1a+nF%Z^&wme+i zdkjQ|AUpH#Y|ac29T^#b_~#d~e7^uu5*q;;fQ>-+$K;cL4s35#(GFt<0N85&J`g1F zu!9Wxb{vHHKPOg<-v{o#{&yOipTpY8+rd;z^Y^h-|0J(g^Yyge*Wt;{e<%AxxhFu( z{}cIU;yyC9?Eggy{(mAfR7oa$`2m2ypMOWPK=1yJREFP20!R`6xi%T}{-=fZ`|eMm zHE<9qFdjMx2N?tHq3n|&10WYPViIJG=qHQ_Z52i&h9XXZq<{!e*(s1T3gRH>{w@3; DqzlwW From 33b5c9b7d49d74f695bc41bc122ec0080db91f16 Mon Sep 17 00:00:00 2001 From: Allen Downey Date: Tue, 11 Feb 2025 19:14:55 -0500 Subject: [PATCH 14/30] Updating the notebooks --- chapters/chap07.ipynb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/chapters/chap07.ipynb b/chapters/chap07.ipynb index 6370e83..9d9c634 100644 --- a/chapters/chap07.ipynb +++ b/chapters/chap07.ipynb @@ -815,7 +815,7 @@ "## Search\n", "\n", "Based on this simpler version of `has_e`, let's write a more general function called `uses_any` that takes a second parameter that is a string of letters.\n", - "If returns `True` if the word uses any of the letters and `False` otherwise." + "It returns `True` if the word uses any of the letters and `False` otherwise." ] }, { @@ -1076,7 +1076,7 @@ " A variable used to count something, usually initialized to zero and then incremented.\n", "\n", "**linear search:**\n", - "A computational pattern that searches through a sequence of elements and stops what it finds what it is looking for.\n", + "A computational pattern that searches through a sequence of elements and stops when it finds what it is looking for.\n", "\n", "**pass:**\n", "If a test runs and the result is as expected, the test passes.\n", From b8d5d02473f060ac627fae31857df5d9314ec551 Mon Sep 17 00:00:00 2001 From: Allen Downey Date: Tue, 11 Feb 2025 19:14:55 -0500 Subject: [PATCH 15/30] Updating the zip file --- ThinkPythonNotebooks.zip | Bin 579467 -> 579467 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/ThinkPythonNotebooks.zip b/ThinkPythonNotebooks.zip index 34287ce1954d7fdba92e891792be28f43ced0e3a..442b85f5407b0c732d7fb3dcf3bed074748ca57a 100644 GIT binary patch delta 5813 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 From 25c982444789eaca326ad613389b53c4dd39854b Mon Sep 17 00:00:00 2001 From: Allen Downey Date: Wed, 12 Feb 2025 10:16:35 -0500 Subject: [PATCH 16/30] Updating the notebooks --- chapters/chap09.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapters/chap09.ipynb b/chapters/chap09.ipynb index 93f8fd6..0f3c3c8 100644 --- a/chapters/chap09.ipynb +++ b/chapters/chap09.ipynb @@ -1746,7 +1746,7 @@ "id": "8fc79a2f", "metadata": {}, "source": [ - "Of if you want them in a string, you can use the `join` method." + "Or if you want them in a string, you can use the `join` method." ] }, { From 17be2f6e46c6b8b428231702a1ce926ee887c2da Mon Sep 17 00:00:00 2001 From: Allen Downey Date: Wed, 12 Feb 2025 10:16:35 -0500 Subject: [PATCH 17/30] Updating the zip file --- ThinkPythonNotebooks.zip | Bin 579467 -> 579467 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/ThinkPythonNotebooks.zip b/ThinkPythonNotebooks.zip index 442b85f5407b0c732d7fb3dcf3bed074748ca57a..e1e9469e04c356f21fae432b2180647bafbe193d 100644 GIT binary patch delta 998 zcmeBPuiU*}nK!_jnMH(wfq{cTD9C3buN`~v?ltK^yfH|IhZ!g|xsb;kCboG!PmeHI z&`tp%SfgO43>Mt$j1c_oT%`aOtVlr!ZcE9P0}HA(BLq{L4=I8LHJ8E#7pE`P0*hsx zhl_1qao$@SEcopgLeS**A$5@8^q)$MaMA7N%8Zu!d_dtSyH}fIx2ZEQ=xv>B*sL&p zUJxS>%s1ON1~FPIGX`ycTgo_v1*}>&=@$D(Z3c#}J<}U+GAc}8UxlRnP!%J$4%n^> z%aH8iTh5qj1Qss4i6p$`CgUy>uy7$C6T)Td`ItKN!NOK{NWv9%Oba!^!ZI01!ciGa z!7^as4J`=a=|G1|ZRcoZ+7I#isWk|>?Hp^F0?ol%VxAxg&w9c%)fDVU-i>{?O?em? z*2+Wt7%Rn$2$BLR<~E+miOs^>In|kuF@sr;w3xSWfmtg}nN3+htoDzV%s|Wn#H>Kf zw*8|edvW&kz;hg;?UhT}w^uIZ*bQ-;`B@GhW?*ufe((|p#3xJ7a=4<3@SH;zDaH`F zg(2d29$nW83=#ed=xWL^MD8MsaKO^cbkB<%4yevteG%O-p-bo@l^7xqFhtxhqw89S cAtHJOT}=&!$YTr delta 997 zcmeBPuiU*}nK!_jnMH(wfq{eJ&P?x#ymsvWpRY~_;*CKvJj_6$$%Q=TFtN?+d3uDw zf_4fB!5RfSWw790XN2Hy=PCuTU_}Z-a9c{Q99U4T86lX`d`J;2sJRp_xHx^O7FaCn zJX~z^iu2yuV8L&{5P~MZ52=F$r~g!9go|!BS7x--=K~5yZM|Lld7C-|gWlH3hRq7o z=LIqHzwxXL zunfsAzU7RmMquHxn@GZ2ZZhsN0Sg!MF(F*Go{yE+s?6;DbO6OCFTi|@T@0HQ%%8s@$61Ke%+GT8FauN5^n;f;ARbwImctcQgy$T(NHK=UEesLI z^XR%(V2JQvKvz?SA#xX4gaejjrh8uGa6onD>Wk=x30*=Lsl*U@fFa_38C};p3=z>Q X=xS;(L>^;^cwI%(wSC=Hj=PKi;Pd1! From 5bebacb0de08c7702a4852b91850667bf9a753f9 Mon Sep 17 00:00:00 2001 From: Allen Downey Date: Wed, 12 Feb 2025 20:44:12 -0500 Subject: [PATCH 18/30] Update --- jb/_config.yml | 15 ++++++++++++++- jb/_toc.yml | 50 +++++++++++++++++++++++++++++--------------------- 2 files changed, 43 insertions(+), 22 deletions(-) diff --git a/jb/_config.yml b/jb/_config.yml index 245575a..f0b261f 100644 --- a/jb/_config.yml +++ b/jb/_config.yml @@ -1,5 +1,5 @@ # Book settings -title: Think Python, 3rd edition +title: Think Python author: Allen B. Downey latex: @@ -14,6 +14,19 @@ repository: html: use_repository_button: true + extra_footer: | +

+ parse: # myst_extended_syntax: true # instead enable individual features below myst_enable_extensions: # https://myst-parser.readthedocs.io/en/latest/using/syntax-optional.html diff --git a/jb/_toc.yml b/jb/_toc.yml index e5e3fd4..6a5c362 100644 --- a/jb/_toc.yml +++ b/jb/_toc.yml @@ -1,23 +1,31 @@ format: jb-book root: index -chapters: -- file: chap00 -- file: chap01 -- file: chap02 -- file: chap03 -- file: chap04 -- file: chap05 -- file: chap06 -- file: chap07 -- file: chap08 -- file: chap09 -- file: chap10 -- file: chap11 -- file: chap12 -- file: chap13 -- file: chap14 -- file: chap15 -- file: chap16 -- file: chap17 -- file: chap18 -- file: chap19 +parts: +- caption: Front Matter + chapters: + - file: chap00 +- caption: Chapters + numbered: True + chapters: + - file: chap01 + - file: chap02 + - file: chap03 + - file: chap04 + - file: chap05 + - file: chap06 + - file: chap07 + - file: chap08 + - file: chap09 + - file: chap10 + - file: chap11 + - file: chap12 + - file: chap13 + - file: chap14 + - file: chap15 + - file: chap16 + - file: chap17 + - file: chap18 + - file: chap19 +- caption: End Matter + chapters: + - file: blank From d56f0f50c8bd6e8b5b81b4de99fe9433b90c91d7 Mon Sep 17 00:00:00 2001 From: Allen Downey Date: Wed, 12 Feb 2025 20:44:33 -0500 Subject: [PATCH 19/30] Updating the notebooks --- chapters/chap09.ipynb | 2 +- chapters/chap10.ipynb | 42 +++++++++++++++++++++--------------------- 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/chapters/chap09.ipynb b/chapters/chap09.ipynb index 0f3c3c8..755c656 100644 --- a/chapters/chap09.ipynb +++ b/chapters/chap09.ipynb @@ -895,7 +895,7 @@ "id": "f90bd9ea", "metadata": {}, "source": [ - "The result it a list.\n", + "The result is a list.\n", "To convert the list to a string, we can use `join`." ] }, diff --git a/chapters/chap10.ipynb b/chapters/chap10.ipynb index 5788be5..5c12688 100644 --- a/chapters/chap10.ipynb +++ b/chapters/chap10.ipynb @@ -477,7 +477,7 @@ "metadata": {}, "source": [ "The following function loops through the words in the list.\n", - "For each one, it reverses the letters and then checks whether the reversed word in the word list." + "For each one, it reverses the letters and then checks whether the reversed word is in the word list." ] }, { @@ -505,6 +505,17 @@ "If it doesn't find what it's looking for -- which happens most of the time -- it has to search all the way to the end." ] }, + { + "cell_type": "markdown", + "id": "fac41347", + "metadata": { + "tags": [] + }, + "source": [ + "To measure how long a function takes, we can use `%time` which is one of Jupyter's \"built-in magic commands\".\n", + "These commands are not part of the Python language, so they might not work in other development environments." + ] + }, { "cell_type": "code", "execution_count": 58, @@ -590,6 +601,15 @@ "This function takes less than one hundredth of a second, so it's about 10,000 times faster than the previous version." ] }, + { + "cell_type": "markdown", + "id": "4cd91c99", + "metadata": {}, + "source": [ + "In general, the time it takes to find an element in a list is proportional to the length of the list.\n", + "The time it takes to find a key in a dictionary is almost constant -- regardless of the number of items." + ] + }, { "cell_type": "code", "execution_count": 62, @@ -602,15 +622,6 @@ "%time much_faster()" ] }, - { - "cell_type": "markdown", - "id": "4cd91c99", - "metadata": {}, - "source": [ - "In general, the time it takes to find an element in a list is proportional to the length of the list.\n", - "The time it takes to find a key in a dictionary is almost constant -- regardless of the number of items." - ] - }, { "cell_type": "markdown", "id": "b3bfa8a5", @@ -1201,17 +1212,6 @@ "In the notebook for this chapter, you'll see where these measurements come from." ] }, - { - "cell_type": "markdown", - "id": "c6f39f84", - "metadata": { - "tags": [] - }, - "source": [ - "To measure how long a function takes, we can use `%time` which is one of Jupyter's \"built-in magic commands\".\n", - "These commands are not part of the Python language, so they might not work in other development environments." - ] - }, { "cell_type": "code", "execution_count": 50, From dfba6768557da4ed66e015302a608876988e2432 Mon Sep 17 00:00:00 2001 From: Allen Downey Date: Wed, 12 Feb 2025 20:44:33 -0500 Subject: [PATCH 20/30] Updating the zip file --- ThinkPythonNotebooks.zip | Bin 579467 -> 579465 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/ThinkPythonNotebooks.zip b/ThinkPythonNotebooks.zip index e1e9469e04c356f21fae432b2180647bafbe193d..bf4c23cb14ef7cdc438b26e7632dc862a3f5d329 100644 GIT binary patch delta 18276 zcmYJ(Q*bWO(gx_*$&PK?wr$(CoqVyK?AW$#+qP|cCv(o!%ztjWYCU)Bs;l4b=sJ?f zIubZV8Bj1(ARr(ppoEe{I0482`5KEr`I-i0TsV-#l4M6XPRRc}|4U7Ea4{(VH9o@s znJ*zf$$za|?d9`-#`-l#@gGZjCkFmMY~vsS=3+odERoeVI4W~(rT_w>Z%JkfCQQp!28R3p zf6>;U3><(2SbkHO=0-}L4AvkDdELrXR~JJBmD&nYq^0+zfrFq5S&;PFQ;_r}kL@_Z z-tC?vqY7G_!s;HI{nkpA;4=);(6#V>ruki$wytJV$W<3CmwqnL>H9m>;MyL#=GVi7xTl8t?I+$=^H1}B zzg8v*@MNE%Xx5tYuv7cDv})Q_=o3>$b?oEhgskH!1psx7^N=cnd({r%;Qcb4qMX&GE@r?S*vMc!Iljc%{E zJ_h#!0T1!t7)KPkN-6hf8bR$$M%5^OIytKY;6SX^QE0rIeuz(WIF|~q%{(_)?C2Im zKn_Cy?YsCl7$bJW3v_zOB*{N4;QY@?VuVV75_Y)ouw;G|^jZF6JWa@}}maMRQ76Y#m z0KN4dcO$*Urv~zdZeBwaeh&R

Jg@y_ZmSTjYh1S1pK-SE`JZ(-|Q-|2JsUf%+oe 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 Qo$hj-!;wwxEC(>E00tJofdBvi delta 18356 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 From af6435b8651b147a1fe3d11cb7e7ca2a72f2e0ef Mon Sep 17 00:00:00 2001 From: Allen Downey Date: Sat, 15 Feb 2025 20:03:06 -0500 Subject: [PATCH 21/30] Updating the notebooks --- chapters/chap13.ipynb | 9 +- chapters/chap14.ipynb | 12 +-- chapters/chap15.ipynb | 4 +- chapters/chap16.ipynb | 202 +++++++++--------------------------------- chapters/chap17.ipynb | 4 +- chapters/chap18.ipynb | 5 +- 6 files changed, 57 insertions(+), 179 deletions(-) diff --git a/chapters/chap13.ipynb b/chapters/chap13.ipynb index b826989..a5b20d6 100644 --- a/chapters/chap13.ipynb +++ b/chapters/chap13.ipynb @@ -1587,9 +1587,7 @@ { "cell_type": "markdown", "id": "85844afb", - "metadata": { - "tags": [] - }, + "metadata": {}, "source": [ "Here's an outline of the function to get you started." ] @@ -1601,7 +1599,10 @@ "metadata": {}, "outputs": [], "source": [ - "# Solution goes here" + "def replace_all(old, new, source_path, dest_path):\n", + " # read the contents of the source file\n", + " # replace the old string with the new\n", + " # write the result into the destination file" ] }, { diff --git a/chapters/chap14.ipynb b/chapters/chap14.ipynb index b71f706..2236a58 100644 --- a/chapters/chap14.ipynb +++ b/chapters/chap14.ipynb @@ -359,7 +359,7 @@ "metadata": {}, "source": [ "It might be surprising that the parameters have the same names as the attributes, but that's a common way to write a function like this.\n", - "Here's how we use `make_time` to create a `Time` object.`" + "Here's how we use `make_time` to create a `Time` object." ] }, { @@ -981,7 +981,7 @@ "metadata": {}, "source": [ "The result is the number of seconds since the beginning of the day.\n", - "For example, `01:01:01` is `1` hour, `1` minute and `1` second from the beginning of the day, with is the sum of `3600` seconds, `60` seconds, and `1` second." + "For example, `01:01:01` is `1` hour, `1` minute and `1` second from the beginning of the day, which is the sum of `3600` seconds, `60` seconds, and `1` second." ] }, { @@ -1307,14 +1307,6 @@ "Also, in this chapter we saw one example of a format specifier. For more information, ask \"What format specifiers can be used in a Python f-string?\"" ] }, - { - "cell_type": "markdown", - "id": "c85eab62", - "metadata": {}, - "source": [ - "## Exercises\n" - ] - }, { "cell_type": "markdown", "id": "bcdab7d6", diff --git a/chapters/chap15.ipynb b/chapters/chap15.ipynb index 91d1271..39bebc0 100644 --- a/chapters/chap15.ipynb +++ b/chapters/chap15.ipynb @@ -983,9 +983,9 @@ "\n", "2. Write an `__init__` method that takes `year`, `month`, and `day` as parameters and assigns the parameters to attributes. Create an object that represents June 22, 1933.\n", "\n", - "2. Write `__str__` method that uses an f-string to format the attributes and returns the result. If you test it with the `Date` you created, the result should be `1933-06-22`.\n", + "3. Write `__str__` method that uses an f-string to format the attributes and returns the result. If you test it with the `Date` you created, the result should be `1933-06-22`.\n", "\n", - "3. Write a method called `is_after` that takes two `Date` objects and returns `True` if the first comes after the second. Create a second object that represents September 17, 1933, and check whether it comes after the first object.\n", + "4. Write a method called `is_after` that takes two `Date` objects and returns `True` if the first comes after the second. Create a second object that represents September 17, 1933, and check whether it comes after the first object.\n", "\n", "Hint: You might find it useful write a method called `to_tuple` that returns a tuple that contains the attributes of a `Date` object in year-month-day order." ] diff --git a/chapters/chap16.ipynb b/chapters/chap16.ipynb index 01fd85b..57f3d41 100644 --- a/chapters/chap16.ipynb +++ b/chapters/chap16.ipynb @@ -1279,9 +1279,7 @@ { "cell_type": "markdown", "id": "2e488e0f", - "metadata": { - "tags": [] - }, + "metadata": {}, "source": [ "You can use the following outline to get started." ] @@ -1290,9 +1288,7 @@ "cell_type": "code", "execution_count": 49, "id": "92c07380", - "metadata": { - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "%%add_method_to Line\n", @@ -1310,22 +1306,13 @@ }, "outputs": [], "source": [ - "%%add_method_to Line\n", - "\n", - "def __eq__(self, other):\n", - " if (self.p1 == other.p1) and (self.p2 == other.p2):\n", - " return True\n", - " if (self.p1 == other.p2) and (self.p2 == other.p1):\n", - " return True\n", - " return False" + "# Solution goes here" ] }, { "cell_type": "markdown", "id": "3a44e45a", - "metadata": { - "tags": [] - }, + "metadata": {}, "source": [ "You can use these examples to test your code." ] @@ -1334,9 +1321,7 @@ "cell_type": "code", "execution_count": 51, "id": "aa086dd1", - "metadata": { - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "start1 = Point(0, 0)\n", @@ -1347,9 +1332,7 @@ { "cell_type": "markdown", "id": "e825f049", - "metadata": { - "tags": [] - }, + "metadata": {}, "source": [ "This example should be `True` because the `Line` objects refer to `Point` objects that are equivalent, in the same order." ] @@ -1358,9 +1341,7 @@ "cell_type": "code", "execution_count": 52, "id": "857cba26", - "metadata": { - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "line_a = Line(start1, end)\n", @@ -1382,9 +1363,7 @@ "cell_type": "code", "execution_count": 53, "id": "b45def0a", - "metadata": { - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "line_c = Line(end, start1)\n", @@ -1394,9 +1373,7 @@ { "cell_type": "markdown", "id": "8c9c787b", - "metadata": { - "tags": [] - }, + "metadata": {}, "source": [ "Equivalence should always be transitive -- that is, if `line_a` and `line_b` are equivalent, and `line_a` and `line_c` are equivalent, then `line_b` and `line_c` should also be equivalent." ] @@ -1405,9 +1382,7 @@ "cell_type": "code", "execution_count": 54, "id": "9784300c", - "metadata": { - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "line_b == line_c # should be True" @@ -1416,9 +1391,7 @@ { "cell_type": "markdown", "id": "d4f385fa", - "metadata": { - "tags": [] - }, + "metadata": {}, "source": [ "This example should be `False` because the `Line` objects refer to `Point` objects that are not equivalent." ] @@ -1427,9 +1400,7 @@ "cell_type": "code", "execution_count": 55, "id": "5435c8e4", - "metadata": { - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "line_d = Line(start1, start2)\n", @@ -1449,9 +1420,7 @@ { "cell_type": "markdown", "id": "b8c52d19", - "metadata": { - "tags": [] - }, + "metadata": {}, "source": [ "You can use the following outline to get started." ] @@ -1460,9 +1429,7 @@ "cell_type": "code", "execution_count": 56, "id": "f377afbb", - "metadata": { - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "%%add_method_to Line\n", @@ -1480,20 +1447,13 @@ }, "outputs": [], "source": [ - "%%add_method_to Line\n", - "\n", - " def midpoint(self):\n", - " mid_x = (self.p1.x + self.p2.x) / 2\n", - " mid_y = (self.p1.y + self.p2.y) / 2\n", - " return Point(mid_x, mid_y)" + "# Solution goes here" ] }, { "cell_type": "markdown", "id": "4df69a9f", - "metadata": { - "tags": [] - }, + "metadata": {}, "source": [ "You can use the following examples to test your code and draw the result." ] @@ -1502,9 +1462,7 @@ "cell_type": "code", "execution_count": 58, "id": "0d603aa3", - "metadata": { - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "start = Point(0, 0)\n", @@ -1518,9 +1476,7 @@ "cell_type": "code", "execution_count": 59, "id": "647d0982", - "metadata": { - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "mid1 = line1.midpoint()\n", @@ -1531,9 +1487,7 @@ "cell_type": "code", "execution_count": 60, "id": "e351bea3", - "metadata": { - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "mid2 = line2.midpoint()\n", @@ -1544,9 +1498,7 @@ "cell_type": "code", "execution_count": 61, "id": "5ad5a076", - "metadata": { - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "line3 = Line(mid1, mid2)" @@ -1556,9 +1508,7 @@ "cell_type": "code", "execution_count": 62, "id": "8effaff0", - "metadata": { - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "make_turtle()\n", @@ -1580,9 +1530,7 @@ { "cell_type": "markdown", "id": "c586a3ed", - "metadata": { - "tags": [] - }, + "metadata": {}, "source": [ "You can use the following outline to get started." ] @@ -1591,9 +1539,7 @@ "cell_type": "code", "execution_count": 63, "id": "d94a6350", - "metadata": { - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "%%add_method_to Rectangle\n", @@ -1611,20 +1557,13 @@ }, "outputs": [], "source": [ - "%%add_method_to Rectangle\n", - "\n", - " def midpoint(self):\n", - " mid_x = self.corner.x + self.width / 2\n", - " mid_y = self.corner.y + self.height / 2\n", - " return Point(mid_x, mid_y)" + "# Solution goes here" ] }, { "cell_type": "markdown", "id": "d186c84b", - "metadata": { - "tags": [] - }, + "metadata": {}, "source": [ "You can use the following example to test your code." ] @@ -1633,9 +1572,7 @@ "cell_type": "code", "execution_count": 65, "id": "4aec759c", - "metadata": { - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "corner = Point(30, 20)\n", @@ -1646,9 +1583,7 @@ "cell_type": "code", "execution_count": 66, "id": "7ec3339d", - "metadata": { - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "mid = rectangle.midpoint()\n", @@ -1659,9 +1594,7 @@ "cell_type": "code", "execution_count": 67, "id": "326dbf24", - "metadata": { - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "diagonal = Line(corner, mid)" @@ -1671,9 +1604,7 @@ "cell_type": "code", "execution_count": 68, "id": "4da710d4", - "metadata": { - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "make_turtle()\n", @@ -1701,9 +1632,7 @@ { "cell_type": "markdown", "id": "29e994c6", - "metadata": { - "tags": [] - }, + "metadata": {}, "source": [ "You can use this outline to get started." ] @@ -1712,9 +1641,7 @@ "cell_type": "code", "execution_count": 69, "id": "30cc0726", - "metadata": { - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "%%add_method_to Rectangle\n", @@ -1732,24 +1659,13 @@ }, "outputs": [], "source": [ - "%%add_method_to Rectangle\n", - "\n", - " def make_cross(self):\n", - " midpoints = []\n", - "\n", - " for line in self.make_lines():\n", - " midpoints.append(line.midpoint())\n", - "\n", - " p1, p2, p3, p4 = midpoints\n", - " return Line(p1, p3), Line(p2, p4)" + "# Solution goes here" ] }, { "cell_type": "markdown", "id": "970fcbca", - "metadata": { - "tags": [] - }, + "metadata": {}, "source": [ "You can use the following example to test your code." ] @@ -1758,9 +1674,7 @@ "cell_type": "code", "execution_count": 71, "id": "2afd718c", - "metadata": { - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "corner = Point(30, 20)\n", @@ -1771,9 +1685,7 @@ "cell_type": "code", "execution_count": 72, "id": "b7bdb467", - "metadata": { - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "lines = rectangle.make_cross()" @@ -1783,9 +1695,7 @@ "cell_type": "code", "execution_count": 73, "id": "9d09b2c3", - "metadata": { - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "make_turtle()\n", @@ -1809,9 +1719,7 @@ { "cell_type": "markdown", "id": "cb1b24a3", - "metadata": { - "tags": [] - }, + "metadata": {}, "source": [ "You can use the following function, which is a version of the `circle` function we wrote in Chapter 4." ] @@ -1820,9 +1728,7 @@ "cell_type": "code", "execution_count": 74, "id": "b3d2328f", - "metadata": { - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from jupyturtle import make_turtle, forward, left, right\n", @@ -1852,9 +1758,7 @@ { "cell_type": "markdown", "id": "b4325143", - "metadata": { - "tags": [] - }, + "metadata": {}, "source": [ "You can use the following example to test your code.\n", "We'll start with a square `Rectangle` with width and height `100`." @@ -1864,9 +1768,7 @@ "cell_type": "code", "execution_count": 76, "id": "49074ed5", - "metadata": { - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "corner = Point(20, 20)\n", @@ -1876,9 +1778,7 @@ { "cell_type": "markdown", "id": "2cdecfa9", - "metadata": { - "tags": [] - }, + "metadata": {}, "source": [ "The following code should create a `Circle` that fits inside the square." ] @@ -1887,9 +1787,7 @@ "cell_type": "code", "execution_count": 77, "id": "d65a9163", - "metadata": { - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "center = rectangle.midpoint()\n", @@ -1902,9 +1800,7 @@ { "cell_type": "markdown", "id": "37e94d98", - "metadata": { - "tags": [] - }, + "metadata": {}, "source": [ "If everything worked correctly, the following code should draw the circle inside the square (touching on all four sides)." ] @@ -1913,9 +1809,7 @@ "cell_type": "code", "execution_count": 78, "id": "e3b23b4d", - "metadata": { - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "make_turtle(delay=0.01)\n", @@ -1924,14 +1818,6 @@ "circle.draw()" ] }, - { - "cell_type": "code", - "execution_count": null, - "id": "48abaaae", - "metadata": {}, - "outputs": [], - "source": [] - }, { "cell_type": "markdown", "id": "a7f4edf8", diff --git a/chapters/chap17.ipynb b/chapters/chap17.ipynb index 7dadbc2..c26b8b7 100644 --- a/chapters/chap17.ipynb +++ b/chapters/chap17.ipynb @@ -1740,7 +1740,7 @@ "* `get_rank_counts` does the same thing with the ranks of the cards, returning a dictionary that maps from each rank code to the number of times it appears.\n", "\n", "All of the exercises that follow can be done using only the Python features we have learned so far, but some of them are more difficult than most of the previous exercises.\n", - "I encourage you to ask an AI for help.\n", + "I encourage you to ask a virtual assistant for help.\n", "\n", "For problems like this, it often works well to ask for general advice about strategies and algorithms.\n", "Then you can either write the code yourself or ask for code.\n", @@ -1934,7 +1934,7 @@ "Write a method called `has_straight` that checks whether a hand contains a straight, which is a set of five cards with consecutive ranks.\n", "For example, if a hand contains ranks `5`, `6`, `7`, `8`, and `9`, it contains a straight.\n", "\n", - "An Ace can come before a two or after a King, so `Ace`, `2`, `3`, `4`, `5` is a straight and so it `10`, `Jack`, `Queen`, `King`, `Ace`.\n", + "An Ace can come before a two or after a King, so `Ace`, `2`, `3`, `4`, `5` is a straight and so is `10`, `Jack`, `Queen`, `King`, `Ace`.\n", "But a straight cannot \"wrap around\", so `King`, `Ace`, `2`, `3`, `4` is not a straight." ] }, diff --git a/chapters/chap18.ipynb b/chapters/chap18.ipynb index 1955731..41d5fc1 100644 --- a/chapters/chap18.ipynb +++ b/chapters/chap18.ipynb @@ -2013,7 +2013,6 @@ "### Ask a virtual assistant\n", "\n", "There are a few topics in this chapter you might want to learn about.\n", - "Here are some question to ask an AI.\n", "\n", "* \"What are the methods and operators of Python's set class?\"\n", "\n", @@ -2031,7 +2030,7 @@ "\n", "* \"What are the pros and cons of `doctest` and `unittest`?\"\n", "\n", - "For the following exercises, consider asking an AI for help, but as always, remember to test the results." + "For the following exercises, consider asking a virtual assistant for help, but as always, remember to test the results." ] }, { @@ -2064,7 +2063,7 @@ "metadata": {}, "source": [ "Write a version of this function that uses `set` operations instead of a `for` loop.\n", - "Hint: ask an AI \"How do I compute the intersection of Python sets?\"" + "Hint: ask a VA, \"How do I compute the intersection of Python sets?\"" ] }, { From 34d7c6405ae89cdc756629d0ca2f28f4bbd24b6d Mon Sep 17 00:00:00 2001 From: Allen Downey Date: Sat, 15 Feb 2025 20:03:07 -0500 Subject: [PATCH 22/30] Updating the zip file --- ThinkPythonNotebooks.zip | Bin 579465 -> 579250 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/ThinkPythonNotebooks.zip b/ThinkPythonNotebooks.zip index bf4c23cb14ef7cdc438b26e7632dc862a3f5d329..e5eed7a470f863b4963935d7a87c7b9d800bf2a0 100644 GIT binary patch delta 28931 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⪼5hL*7bqV5AIWyCE+yjgutHd)=k6_QaWLH5HBDb?a)d2`)j<5`*7|3Kkp>lZ}~gj=aZ(kozafVy0mC zW#kI9iq$=nfWnp_KtPAJJYl-KYYAHz)|@gh3&^%F@leD>#)oJFC94poM+q3(<8AU> zpRz?jcwI+1t>(QZ79?&YUy{f$&9tz88cAG|aA-5C38&@Bst`Nhqj7!HPo1iPWyKky z%M+MV$}0SE_*u(d>a(?@9?KGw!7t#_O>bw%W%8h|)f3iX z&Rkto1Ij!g3eCAO06%6E7Mmcv+$qJ8VNkT-^8j632a?js;1sh2K-d??_SF9kF=^SZ zYu`(G;ugFX<_^oH$SB8hzrx#ipgJ=tg_CRFd3n8#C)^f3rW$!Pz${<&$urEu{poR` zDkYt!Dbx%>+ziMtqEok6VY+)kAZFN%TK!2`581%8aK+K+PR?`a8dLa$77S*nCsjK2QH++;W$TQ5WIr++nclm2PP~*#qqUL12*nSZ)pb%P$z{ zH`=UjaevyPbCWUQazBmSP;}YcPk_3WM1SW(+RP{alN2DMdB0H=Exumb0k=Z14lW|w zP03P3b4*w0Ot|?OnQcGZ6ziuXq2h51sQDMzx&E3TB1BS=4XOh* z15^)x=J!mqVGHfvE|<%8)Z&;)zgy}5_)dWs10O!}&NXg8^#j06lWrPA?XWkf9YL{u zXoAbD^7{*r>YzE5E;B*4%EYz$<4mzd*l%*IV712S(5ITrWBRjg$)BxTd1c+S{lfhdXcPTzEV{96gg3_8W2L>~{LDc|?1kPJ+`P zvVKZWE6fB@YQcMsSP^sn*R*zWq|(}|S8}U$-)w?|;=WM#!rvE~9!RKdM`6aMgYmtP zo9QXN4xPpzL2D&lT`kfUmfSZHbX33ZCC=%bpr7B=BvpUqB4lJVing|j=hs9bq>Clr zjPsoaLiY(QUPzr=-95CJewI0+?DO3^@bd_7vUaME z_ksftsYzzTVe6+FG$MyOb22T7l_R5I1K;8519PKm!~U<#kvDRs<%&_VAfV}!MRn;B zIvI(F>zVKiYHEU+ak=tUYx3ZF*r;o1HT_8x5W$PD6BR&+rS_*J9=K;>l+N@;94n00 z59IvxVpS{p2c)dB?o4>RH;T_yqA! zg{z$n=OS$#wxvrzr)64l7Cabk11B{2D>%llGv>f)5r|WV@0kT668OFm9Kw16Eg|8T z&-t1?n4Z}sB3qcVWso)0-$Gzbv7}bGfo8_vQ!FPtDs?Q@*g*o=Pm36^;OV~7`SVDk zt>;})JQj=anh~P9Kk>XH4mW<0a@nsQW(WD1pzf7L*O*Q;u7%|_Eyh-zWE494AvcsE zmjzWR-ay;-we6=M_B#qrCaU>R+UY6F{rrL}8jW*9KBTjPP?YDqjx^tDwXAJz0K8qG z$P%Z_)nlBbq21LlEXjeEqa@~oYh!Xwz=Ry55-3XPaU;sM{r4WW{V& z9D7%w>zv2v^U^h1wiG2lvP*QllgK=C;8PV-=+`;(nu_u?QWhg@8?y_$ZqpZRxLHu_ znvL3QASYEi_3Kd=|7!0gXF+xo1mq^da(ohPR{^##2z^Z)OusbG`0ZBeYI1@gL=@3| z=6=}o(44W;I9I3zbKrCq*6{kRkNu&a{kJK2`stg&9R&7^RyG^PU1|cc`9Mg{nk z3JUl1c=x6EFGcrg7oiAPa-R;ucfBr5T@wqf2yHaU@?!GiNQ_Z#x^r97&p^97%l)FX z=qInb*LR+#bqEu|=-^iFCS>umru!GC{(WNv(xs~oHp`I#XL6xf-!yH4KqAYoAATr} z?-u(=afXP#BwlqOp1O~pb-MaA@Ic0}NGR%$chcd~wnD^r*U-B~Ypsfy7z4@FToSBV zd5Q)#@&oGF$cCnq3bB@NH^9*8G1gE1>{Cq7J0b{jv&I8iy20Ec7a^o@yC$ZuIa~4@(wSO|o^2tG;rJwWCqNkiyc%=LR6Vls zU4EojBZ-H8P zgK0wSEIX7UlaWNj1?ovoZ&&B`S|w<6uKQv|SRH&~l+w*_zoq7Xxt+=Nu`*%_P%)f# zh8<B3|&&Bw^?9H(%E}1 zc~BsXTS`@P4pzHSf4`>XEH_gL4Fr|sG|c_3+2v*sSQ%i&1!9q(8QG0>3v`7~J<_v{ zVw%Xk9I}?5TB3K4VCOGNQ#uk-tiRb+c z7vt?3O)Cup+}^u!ElFaZFB$_3l6gIz&lXyXPuTMmM8aM( zQG^JQ&%5TK4FLLTmp6QGg%}EDIpLsA^F#-1|ELV0XO-*_f&J>m%=;$Vr=dmPEg{$o zWd?G_Z~kZVboRY=L*(wBp8m?AgpVg~Rv92@p12H%RDr*M{q7mD{2Zt~8Cm)Xkf+&|i8Urm8-&c* zOQKp-o{h2?TZ1Y^A*(pJ7Qw&@;(Etx^V$2b}$a3PjUys^aY5ds5=HH?EMCU1N zKpZJ?`dPaShx+c%ui@>2#L>k!0v(?p8}CAm9)weJ1nUJwsEd9oZ@TntaGpAiHjH%w z!MpcDp7X8nb}T~x^GY-p&P4P<+Lg(jwU3by?CKv&IaIFh13*{(IT876j_WA7Cw>Z4ULnl z`Hm>CuNrLo5au^JUQE7}9_N}U<_UxYH-xaDGmAv__|CH+$ziQXQ1;qjNEexdc~K}w z5;kK9smE*B7z#S+-&Ev4L&s0|DKKR;hwlL@5TmA_CC^CrXz~Q<=Ojl%=mhm5KEucv z0?c`bMczhUz-&M+$g654ZwN_nyova*7<~j^NVzNH*h`L^% zdB2rvdQgUkcnoO%x;;5G1PKso0w)T^lP*`sG{NgBIel6xi5(KuU(Mm(u?i|=OPdV@ zG7W$KYP!swEF{bfZ^`?kmJ21O%|AMePG39u=s?4mYw8#uR(b*B2rGtHqVi z;U3XBkHlxZ_CyDiWY9$0(99e%%oPvW0Ogo)(p5Mna9HjA(&F!b%N1BKegl^V9)OzoQPmXYK9 zPEAWg*rLkA#2OAcgNXTYDt3HhB8)h;<76Z)yi+o^_!_Z=wgTSgQezp3cwqge$p9pB zS)`8RkVIHrqQK5-b?&JiXWEfRNoe-`_bFgkJQ*|MLa`yj0`SfrlUAWi-KCV*gZxZ6 zqw95nJYMzb(|~{$EAK0_Q|AoJ3Hig)OC+1|DYz%+QC`?(=>c7c`_7Q=FH=#_$Fv$w zEK?r5NJ7cAucD$~ZOSoMh+xx3b!K=%b_`9Xw@lkJ?HZL;`yOHC{O9lVd*DHZmAk+% z(WDR?jpG^NFQM8SDRMCKst&!(X6I%wtlfpK#_oDaJ9Ns3*dFSXhU@)t4qL-0SG#_h zcoRhRPX})(9{MhC+Yc9S`ButWmuk!<;-1*V&R&tc)cD)B%dyw*)e6$kwdLg!q);TW zj|g3XbWru51MnxdC6h2*O!0_z4_|=V)-G0j65lr_jg8HJ1UFEL_5YCGg;y7V=~YNP zQ#pgZbmdfWYyJ}cUJ?qQ_BqL{V0#>3(bPUZzCN-1fWnSB<*NAD%6AxJU2XF{KUj*t zdz4A`;9=AvqB9^b=xdu#_SdBiq?EJyOGUV20X_1cJ+%Rvrh76t65IT2tYV5lraVHu zP_0NiK944^VQLKKNq+@Q=D|reJ|dNc*TjH8b<}L|m?#Ood`1zOTVtR4DL~3gh1i!i zQ-WKTGVqJf;KTZL>&tNn=I^DQ#WHMtwrNNU=qv?*Xi33@^T$!VOo`9gwg|jjwtUl9 zDI`Cj(@x1BvuphabRhPl^8YkPiko$Dg>k#uHo2%DeNsHay%z~3rdP;T@@M8BQ#>JF zv^TlY-THh5ZCt&z5AK0!QO$RBh2lVTbc$^5yW);=9sbRUK4X}_&MK0W1Qm;%!xA)T?E5G?%~z$;`E+AvQ*~L;Fz5dZm8JjJM<71U|@6gbM3V7 zksN|7(Wrl0u=BSvmi~$Re)9&(Ct*vD{N} zMWqrO?q+mOrQJ%$NFn=^8dx>7Mr0vxT}dX)oqe^bvYXtV491`xusf0~tUvRZ(kQ%O z1GckhD8A!z{Bkn71Lr2G1cr{(ZNGhTnK{=sKkBCGb!9z#?`|)4LOW%1jR7D)FUQ;y z`hC!)A=EePUXVtsebFKrui)D>xTaN_yc*f)CC~Z3jG}hFhc^=@kyn>;n1MvLF}#dlU9a|EMc6a^J1~a zd5C>*Ml8#9sol>gekR+)1**^TheS|38@66TdTq?of^qcO>(*hdrqA?U0Jt@`b^8r$ zHH4@vuTRsXG!yr`R6tlQ>KQUrS?~;e1`@0qxUV9yt1n{dnx_=wW5xMXuG5&yWb9sy z{p-@%uz%>*W&X=hsIh)s$mVhZ`sed6ydkZdxZRt$vOhl6?wqd~@LpDK(h|!vm?0(6 z%ZPc1BkxC(vLQbYj;}!vO3uG3h%d~bluqLZhp>;4E~(22>jRUE^$4)^aOY#A+U4Bt zo-7$Idxo06KN*Q`wzv!nxtaON3CF%63wqIUyUSLRFlPl7cv^I_PX((-+xuqFw!YDZ zs65?Jz?3t~SYr%xqvm0aB)d&FY}87hS?E+(XuvT?Xw3T*5ZcI*_*K5jPe>FOc#7>% zP<2~`>A;?;bpqc7y5FC@&HeBkH)Z=AHnNV*0N&67ZbEOblK3vh7V1uvG2#wkz1XTWSxrnmXx9%eN2Sf&ZSh#ej=em;<#ub zI!B+#Z<7CTPPtU;Tb~{3&3PHor?y~20=g~5&^Rc^CxIq*MXn4DfYyoN^A zSF&ZK`7Z&LALxDiG#3cHS6OS#XnS7aX=U1VuS69dgg*Ilka#Xb&k^3OXeUleg(>w4q)FEFuLZYh>r52JW2p`6vYXKA!`?1A((*1~Phg+2DX zsFCg%o{J|m9s~S80x97LW$pRS4_)U?iL?{ z{Tlhq(G39V`(+a`F0Ytn>(7H%Q}VvXKm$W&H{=UpgiU3V7;N7N&*ivIGqj;{sFzp&e_^gEg`~ePE+O|tH7Mvl~ z&!Ur}4DX7f!Os8}$SiRd}@A z{rdP8RqoELf0b$U&!18dGalr>)zj?pAj1%oOoB05V5uR8AphQNeTHm=|9e-$0m%XN z*Dm~$2lCH?`m><_ESQ!{9#|I}(Dgh3Gu)#Hw#B0e(DA?8Y#fsS`M>ngK-aSXg1@EI z3MK&({}+Lu`X}P_U&zn@LWHLO=~et+2-3_yZCw8gS^FU95}pbG{@3WoDXh7Sx3{Lg9(Gys{*18DzcP4buZ-)*%7U|_MX z|FovE1TilF2v9iwUoHXtxBlGU_x*REfA{hI)3p=CwD8YB|1Mqpr}b0C{|5S3G2?#( z`uiRKo!$J?HEj29R}kJJ0P$bvBK_-JNOiGm9Ef0GRmA`Fk;jDuu`B@aL3((Qa4`Q7 z3skuXAc9<{gapk{K@x&a76HN#ZL}czC4erZFFPd2k>d|qyaW)29OZ@tb@4#rfWVjk T*eDi)#Qr>ClqLXwuK9leTVo|? delta 29170 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 B?AibT From f3620aaf4679114c32d533ec2736576f4cfd34cd Mon Sep 17 00:00:00 2001 From: Allen Downey Date: Sun, 16 Feb 2025 09:28:02 -0500 Subject: [PATCH 23/30] Updating the notebooks --- chapters/chap13.ipynb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/chapters/chap13.ipynb b/chapters/chap13.ipynb index a5b20d6..ba90420 100644 --- a/chapters/chap13.ipynb +++ b/chapters/chap13.ipynb @@ -1601,8 +1601,12 @@ "source": [ "def replace_all(old, new, source_path, dest_path):\n", " # read the contents of the source file\n", + " reader = open(source_path)\n", + "\n", " # replace the old string with the new\n", - " # write the result into the destination file" + " \n", + " # write the result into the destination file\n", + " " ] }, { From c578daea3421ad66726a7f7e9973a19e66c98fde Mon Sep 17 00:00:00 2001 From: Allen Downey Date: Sun, 16 Feb 2025 09:28:02 -0500 Subject: [PATCH 24/30] Updating the zip file --- ThinkPythonNotebooks.zip | Bin 579250 -> 579259 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/ThinkPythonNotebooks.zip b/ThinkPythonNotebooks.zip index e5eed7a470f863b4963935d7a87c7b9d800bf2a0..fb26e2f9efb194b8c3f3d500d3d4dec2b0a1fb20 100644 GIT binary patch delta 7310 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 From 2e20e9fe7076eabe66a4451564de5e256b3fe076 Mon Sep 17 00:00:00 2001 From: Allen Downey Date: Wed, 4 Jun 2025 17:34:16 -0400 Subject: [PATCH 25/30] Updating the notebooks --- chapters/chap12.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapters/chap12.ipynb b/chapters/chap12.ipynb index f3f7b19..cb9b780 100644 --- a/chapters/chap12.ipynb +++ b/chapters/chap12.ipynb @@ -1827,7 +1827,7 @@ "metadata": {}, "source": [ "Dictionaries provide a method called `setdefault` that we can use to do the same thing more concisely.\n", - "Ask a virtual assistant how it works, or copy `add_word` into a virtual assistant and ask \"Can you rewrite this using `setdefault`?\"\n", + "Ask a virtual assistant how it works, or copy `add_bigram` into a virtual assistant and ask \"Can you rewrite this using `setdefault`?\"\n", "\n", "In this chapter we implemented Markov chain text analysis and generation.\n", "If you are curious, you can ask a virtual assistant for more information on the topic.\n", From c4863203e08ffdb16d54a83e3600c8b19506a583 Mon Sep 17 00:00:00 2001 From: Allen Downey Date: Wed, 4 Jun 2025 17:34:17 -0400 Subject: [PATCH 26/30] Updating the zip file --- ThinkPythonNotebooks.zip | Bin 579259 -> 579256 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/ThinkPythonNotebooks.zip b/ThinkPythonNotebooks.zip index fb26e2f9efb194b8c3f3d500d3d4dec2b0a1fb20..88767d9bee4146cefdf1edc2d947d90e8a46ed73 100644 GIT binary patch delta 3253 zcmZ{mc{G%L8^`Z)TgEP;WG(BUu_Y$E-eNMA1|?!1;%SgI9%0c=!N*2;MwHu#@ql!e;?JY~3s#izToHn(fix41kk*%hXv1M9`s45gX^4in zG0_^gbCM91k7lCo(an1yinz-}@pm^75cTX~q6Iz2lp(rIW1?DX%?b=kTHOcR!ZkWF zFdbDsI(NWL+z+f&003lFih8s(DH{vp`E@VSj>{~fH7~HRN(HDkU@glyo zq~cH*@2}dL=1>@y3Ut)Vd(21i-iNtqK=P&AduOr^0Km*7B+njVmRAhHKI|uadU5;K zxMbs%QzrvPub#w}bDx)i7hcn|+Knk6_;T4Pd3N+@qLWSkIs3e1>-ZmL1u8F}d?POD zPRN_o~)%atG0a1S`bn`kMx* z&l8GLZAZqx+GShnwmT+2!OjjQ#vu+}JR33FhQ5@8dFZd+6)|lpMMFI+@wBF7D5#^q zx{&Wl6cP;-Fc#E=j-9C7%l@5>l!D&bnP?@=KMb=+?Muba+eA8f5lZa#G}}B7I0PtH z|Ix7HLfOAw@VG=zb&r&s*Pxw1Jl%3; zr|9IhmCmdNa(IT-((Jj@;xJWw!Jimg7S8Gh{oFHZ@pmFVN38UB9AU3O-imjwO5&(0 z;#+A5T%3D!H^h$ct)`gZoN97%G9^;u{a4yE_3lh#qU=z3{nBk=bV;p3gign31qO-w zR&6maqZInOZ^uoV2V42Kd5PylpVwtMx|QL$x5g#o)6@2s=h-OnLn<+^y&D7L`q8l} z8kyp1MZguS>Lp1S26?h>=1@f|FZCK9aA$hTWXQGb-BIU^++Br)ep{p=k}n9x1|U5z zO1%kCIUQ7o%@3UaU=*(8TaZufzN9N5&Ly4ta@Mjy)lRo|b{4Ofy;}RWHJ^4mAS3op z8Mm3E;a}q(*#6-AS+a{B>6h>5e0Hzc$U)RM#MtdSiWQX%ex>s$0kPbTY9|}SmUA74 zai9G@x`9g3v%Kd_aQu#$k`R1wtvj8nHjHyx$bK|h-eFS*@^8k*`)Vr0s%ORb=EEb9 zDF$6L3zg2E;nS^(eJ<+C8yxk3^5nykXJMWz6b9k<|lNbj!dpYN|d)koQ3@!J}D{7m?q517mJjRM>BtF!H+n0`HXqefL3S?jE)>kvAAS4U2^Mk9B8ulmO{F(c!@ zFBLw5Z4}#!w6X}4UHxjKGO4)FPWTfxR(D`!kLG$sN6F}F>;94{Q8RDN(!XX;O#bbc z#)c=KF#a;WN1ou{ApNQQAWkA(cn|&z%03}cx$)b>m4*N^&SiIUESge;T#S;O3%S{I z zelWDa$CrvDW^FNwCjTZIy;a{K`O5I6eAOqgKhuHjh-$P21(PHCLFo8oM@G8PoAW*s zuKSj9Gb?J)frf-9tS&9bB87-@Cs*ZFT`~x@$1jVF<+8em%Pj}<-_W1$d;BmoNwqJm zRPJ~pZb7ofieRo<-+q!BY9)+)uSRAyY>I|Ot1d*9`de?39?liGmx=EVVLzZmT5Ma9 zidvYl`jdP=U@cLqxl>@lNa|v7w-L@I_x=IvCX-#k67?g;Jk1x|aqEs%QBCZgn6%Q! z5X`}GiP&2T!G{svvfMbim_8r*>x&mBHA?;W{ivk{)e#6)ozBz_FVqt+b4{8P5YwxN z$&2;2+u!d7nr^}@MbiAgqa#nL>{YeQS`#J}zKPai<=5m})_H^&2n*ei>nA2=KRx3W zP9#__^x=|AcY4ohf8I+qA_zX{u;EOwUlEAYmd$^T_|zM%ynMYA_gus~iZfW1|Hx;7 z^^l;Nw>agwG_L$Q-X~X`H)(V2F;v_=?1@fa@2UK20n!IKt`@KGr|X9_u{xizu&Wj5 zvb{Sg$-8iLaKR#52;&fWNf0^NBed4DVl`D5^*;CA`oO}5*grN2k}n?%(-eNd$I|k1 z3KQQgoB1FBpt>9yjir5XE^bZ${NL75^U#1L4x0HSJv_5R7@oye92%}BB{AafpKsCf~*jKrvobg zs*e*yf%IUd2OB-uYXngoR$fq@TOP-jZ(MpFM@@PjyzA$(bG8ePVP!lXX>Si)47we) z3x4D`q}RO--Pw+~UT&-M-;M^iBg39;!h72h@2hQ9f!oo@c4X4aEaYYEa=#WVQbjLZ z_qW>$^ufhgaC{^+3S69o?t}Ae<)sqgN}SMC4nYHcMD z=cNSzuFJo>5=p9*ZLXmddMjW>L6SQCgOnr+a&j>LDAZK%=_%MaX`KS!$I9sApZ&vV zZ(}Mw(?oKj!Xz!vY}<7Isz5bx`w>WB9Y^gWLZ_3(op7qUrv4VPlK>w?n-{{eO4 BrN#gN delta 3220 zcmZvedpwkB8-U-LR}97|5(Xj65F)3LQ>>_wtV5(E5))R45E-W$4VoCdN<}%1Q$ve! ziiX-2gUBIKh*Gk|MlH$CjBop9vwz(GT+jVn_jCIFp1ZbOp`lzs$PNecYy|)S0mS0$ zQiV(q3yYOL?5K2*LV_$t2}17q4u7pcCW&&Wi5wTbC}*s|p${y$=vRvfISvi?;-Yjf z|Lq)#iRYrH;~DZCs#3s3@daxt9O~Q6MT@%+s&eSkG8ffdVPM%5`fCU5|Cp|?0Mpk% zvAC=IL{Uf;765itQ+CJ8LAUK;$nX1tP?zA6^bUJi6_%45JRcc3uL=MujjUW*Xmbxj zK#(5*|2Z2v;{r@TjZ>|wkh_{t5zI@AV-WVfx-C}+0Nze=47Z11Lf@;=e;tBNsT1ad zV;WtlnYF~To?RKzixd6MGY>})@STdyqL=Mw#G*XJPZ@@#?ilRTlFFn`i0&}8S5DH_ zl*#*gFTAb$cgwQ$(frd20;gdw?j3y_KJ4q}ow9$QK;2cNFPLaK^`6dy69n0)qNSy6 zExEB(3XtR8!v->AG{Pdu&KCBO5k5%3^{?_`P~9@ppU86nb_T1fS1EBpMmO5_dFrSI zadz4RGP)+}(>Cx~wrMR!YNTn+{pPV!!<(pI>)yphueGENyfWJkdfgD=6G;7I>x~@o zHT%ay0j`0j?$fWYj>XhG6^hw*<6EI^5yLIb;$`-$l&Xvc^62cjpl%cYV2`XAf`e#` zWhaeCt=3Sbt|zKI`IW04o7@O%roLv2%qNY*F7v5jHj**ahMixKwh z(z}Y=$l)fJ?8@Q8Ax5~uyiQGklBki^aaTA>Ww()y6~Sgs_um;SSf6?>8lkP2NBJY$!^agqw2S9lF=7>_~Ly zs6*Udje^6MSM=MT1f_m4$|!ny4~4FGHN}$ES{c>`1AaSn>I~i9MJRlVG?)fEcu-TavYx%Il3C6mCB$d zVeUGgp4j)Mr1hePTfJd`id(-dVO8DFx!|eTU->yUUm8t+p}rA4_|+WXBO zkhR_US&f22Jvbz~l1RFp5yF!n?P{QA97)`gm#sT9g;F1d!t9D`>kN*_M#6MG^#tz( zWorzLhos3TF)@5hm505Q@xboG=p|Ulf_5cl!jKoyO%THu4p=eYT>tS^m{9^U6sZ ztf$US^PG-+VeRF;<(cT5h~1n}*GVqtMP6GjV2hIH;GQAO z`Zv6GoAJ5Rzr>iTW?EJP2_GhAwhHbcSv!rdskYuKjZC@zZK&_a?8@tH0}IIfn(NLD zA*#W4`Wqn3CVJdR3QxwTWr@x&28+-@6@s z@SFJi2ZL$Kk7;29@^Dds`0>e7-v>p@)IbT_xSUZ&3Lckwa#q+4QGuCUpFcP>q{(*aF&zmwE}di9G^bwT(f?OVAk!yVMc zbU2$DVWj3!7M+xaJL!69muMm__&t>0!_9)P59)9EcAT(k__EpcG;MmaT6(OyKyq~# z(1PENv2U#@$vksEHg65U3U<^kD>kcTUK1hm?Ic^vdF|%DG|qs^rd$Uu@&n#8mE%<7zqs! zaYtBUbfaheu{p6&+$P7Dykk~0!o^UpmT3(K71cNNnqWt3gU#9TRs$=1OqoV^IIXg< z$6_QaJXO@H$PYgx7owt*C)97^9gu@ zE{D5If?VslEeYBp!4VrHXif>#L;y2cJ_ijdedt&Wco*bwrV6O`o!9IHlLa`KtizrD zLQ5-d$=bGv0Jq7O%qhngV_7SZiRXgQgBZcl-i4s-mJarOkhNSr<3ER^{$L_PO@xA z^5~LvfC>QAR04oJAi-*F0RYB|s#tI6S}#K72kS7~s)1j(>i(Bij%_tBPmmtR0Dx=t zkJiTtoVifsGX(Mnckwfp8&&dqM_W2KQN)-?zExHa Date: Wed, 4 Jun 2025 17:43:41 -0400 Subject: [PATCH 27/30] Updating the notebooks --- chapters/chap10.ipynb | 2 +- chapters/chap12.ipynb | 4 ++-- chapters/chap14.ipynb | 2 +- chapters/chap15.ipynb | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/chapters/chap10.ipynb b/chapters/chap10.ipynb index 5c12688..e1de3af 100644 --- a/chapters/chap10.ipynb +++ b/chapters/chap10.ipynb @@ -1559,7 +1559,7 @@ "source": [ "### Exercise\n", "\n", - "Write function called `find_repeats` that takes a dictionary that maps from each key to a counter, like the result from `value_counts`.\n", + "Write a function called `find_repeats` that takes a dictionary that maps from each key to a counter, like the result from `value_counts`.\n", "It should loop through the dictionary and return a list of keys that have counts greater than `1`.\n", "You can use the following outline to get started." ] diff --git a/chapters/chap12.ipynb b/chapters/chap12.ipynb index cb9b780..49c55ce 100644 --- a/chapters/chap12.ipynb +++ b/chapters/chap12.ipynb @@ -520,7 +520,7 @@ "\n", "* `key=second_element` means the items will be sorted according to the frequencies of the words.\n", "\n", - "* `reverse=True` means they items will be sorted in reverse order, with the most frequent words first." + "* `reverse=True` means the items will be sorted in reverse order, with the most frequent words first." ] }, { @@ -730,7 +730,7 @@ "id": "22becbab", "metadata": {}, "source": [ - "The we'll store the words as keys in a dictionary so we can use the `in` operator to check quickly whether a word is valid." + "Then we'll store the words as keys in a dictionary so we can use the `in` operator to check quickly whether a word is valid." ] }, { diff --git a/chapters/chap14.ipynb b/chapters/chap14.ipynb index 2236a58..f0f9998 100644 --- a/chapters/chap14.ipynb +++ b/chapters/chap14.ipynb @@ -907,7 +907,7 @@ " \n", " carry, time.second = divmod(time.second, 60)\n", " carry, time.minute = divmod(time.minute + carry, 60)\n", - " carry, time.hour = divmod(time.hour + carry, 60)" + " carry, time.hour = divmod(time.hour + carry, 24)" ] }, { diff --git a/chapters/chap15.ipynb b/chapters/chap15.ipynb index 39bebc0..52fb9c8 100644 --- a/chapters/chap15.ipynb +++ b/chapters/chap15.ipynb @@ -604,7 +604,7 @@ "id": "e01e9673", "metadata": {}, "source": [ - "## The __init__ method\n", + "## The init method\n", "\n", "The most special of the special methods is `__init__`, so-called because it initializes the attributes of a new object.\n", "An `__init__` method for the `Time` class might look like this:" From 38462ce925df86fb8015cc1e0c4873f5e237f9b2 Mon Sep 17 00:00:00 2001 From: Allen Downey Date: Wed, 4 Jun 2025 17:43:41 -0400 Subject: [PATCH 28/30] Updating the zip file --- ThinkPythonNotebooks.zip | Bin 579256 -> 579251 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/ThinkPythonNotebooks.zip b/ThinkPythonNotebooks.zip index 88767d9bee4146cefdf1edc2d947d90e8a46ed73..4be25fae6d89b5d67784f9163742d7ff4875de68 100644 GIT binary patch delta 20664 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 Date: Mon, 12 Jan 2026 16:32:12 -0500 Subject: [PATCH 29/30] Updating the notebooks --- chapters/chap00.ipynb | 2 +- chapters/chap10.ipynb | 2 +- chapters/chap12.ipynb | 170 +++++++++++++++++++++--------------------- chapters/chap15.ipynb | 22 +++--- chapters/chap16.ipynb | 2 +- chapters/chap18.ipynb | 2 +- 6 files changed, 100 insertions(+), 100 deletions(-) diff --git a/chapters/chap00.ipynb b/chapters/chap00.ipynb index b42d9c0..e7c283c 100644 --- a/chapters/chap00.ipynb +++ b/chapters/chap00.ipynb @@ -50,7 +50,7 @@ "\n", "Writing this book, I tried to be careful with the vocabulary.\n", "I define each term when it first appears.\n", - "And there is a glossary that the end of each chapter that reviews the terms that were introduced.\n", + "And there is a glossary at the end of each chapter that reviews the terms that were introduced.\n", "\n", "I also tried to be concise.\n", "The less mental effort it takes to read the book, the more capacity you will have for programming.\n", diff --git a/chapters/chap10.ipynb b/chapters/chap10.ipynb index e1de3af..742da86 100644 --- a/chapters/chap10.ipynb +++ b/chapters/chap10.ipynb @@ -1364,7 +1364,7 @@ "id": "170f1deb", "metadata": {}, "source": [ - "### Ask an assistant\n", + "### Ask a virtual assistant\n", "\n", "In this chapter, I said the keys in a dictionary have to be hashable and I gave a short explanation. If you would like more details, ask a virtual assistant, \"Why do keys in Python dictionaries have to be hashable?\"\n", "\n", diff --git a/chapters/chap12.ipynb b/chapters/chap12.ipynb index 49c55ce..f2d5d23 100644 --- a/chapters/chap12.ipynb +++ b/chapters/chap12.ipynb @@ -80,7 +80,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "id": "4cd1c980", "metadata": { "tags": [] @@ -103,7 +103,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 3, "id": "52ebfe94", "metadata": { "tags": [] @@ -116,7 +116,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "id": "49cfc352", "metadata": { "tags": [] @@ -142,7 +142,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 5, "id": "44e53ce6", "metadata": {}, "outputs": [], @@ -152,7 +152,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 6, "id": "50d1fafa", "metadata": { "tags": [] @@ -173,7 +173,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 7, "id": "16d24028", "metadata": {}, "outputs": [], @@ -201,7 +201,7 @@ }, { "cell_type": "code", - "execution_count": 88, + "execution_count": 8, "id": "1668e6bd", "metadata": {}, "outputs": [], @@ -241,7 +241,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 9, "id": "ed5f0a43", "metadata": {}, "outputs": [], @@ -261,7 +261,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 10, "id": "a9df2aeb", "metadata": {}, "outputs": [], @@ -283,7 +283,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 11, "id": "b138b123", "metadata": {}, "outputs": [], @@ -305,7 +305,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 12, "id": "fe65df44", "metadata": {}, "outputs": [], @@ -324,7 +324,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 13, "id": "b47a87cf", "metadata": {}, "outputs": [], @@ -347,7 +347,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 14, "id": "348949be", "metadata": {}, "outputs": [], @@ -366,7 +366,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 15, "id": "06121901", "metadata": {}, "outputs": [], @@ -385,7 +385,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 16, "id": "881ed9f8", "metadata": {}, "outputs": [], @@ -403,7 +403,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 17, "id": "ab5d2fed", "metadata": {}, "outputs": [], @@ -421,7 +421,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 18, "id": "2fdfb936", "metadata": {}, "outputs": [], @@ -446,7 +446,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 19, "id": "3104d191", "metadata": {}, "outputs": [], @@ -474,7 +474,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 20, "id": "4fba7d1c", "metadata": {}, "outputs": [], @@ -502,7 +502,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 21, "id": "4be34c95", "metadata": {}, "outputs": [], @@ -525,7 +525,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 22, "id": "8efe7c4c", "metadata": {}, "outputs": [], @@ -543,7 +543,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 23, "id": "79c17341", "metadata": {}, "outputs": [], @@ -574,7 +574,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 24, "id": "838bcb4f", "metadata": {}, "outputs": [], @@ -593,7 +593,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 25, "id": "90c45e7e", "metadata": {}, "outputs": [], @@ -617,7 +617,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 26, "id": "e106be95", "metadata": {}, "outputs": [], @@ -635,7 +635,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 27, "id": "8101a510", "metadata": {}, "outputs": [], @@ -655,7 +655,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 28, "id": "c046117b", "metadata": { "tags": [] @@ -697,7 +697,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 29, "id": "edd8ff1c", "metadata": { "tags": [] @@ -717,7 +717,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 30, "id": "67ef3e08", "metadata": {}, "outputs": [], @@ -735,7 +735,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 31, "id": "471d58e9", "metadata": {}, "outputs": [], @@ -755,7 +755,7 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 32, "id": "4d4c3538", "metadata": {}, "outputs": [], @@ -778,7 +778,7 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 33, "id": "8b42e014", "metadata": {}, "outputs": [], @@ -796,7 +796,7 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 34, "id": "f48be152", "metadata": {}, "outputs": [], @@ -817,7 +817,7 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": 35, "id": "5716f967", "metadata": {}, "outputs": [], @@ -838,7 +838,7 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": 36, "id": "b37219f5", "metadata": {}, "outputs": [], @@ -880,7 +880,7 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": 37, "id": "75b548a9", "metadata": {}, "outputs": [], @@ -890,7 +890,7 @@ }, { "cell_type": "code", - "execution_count": 40, + "execution_count": 38, "id": "2bfa31ae", "metadata": { "tags": [] @@ -913,7 +913,7 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": 39, "id": "6f5d5c1c", "metadata": {}, "outputs": [], @@ -932,7 +932,7 @@ }, { "cell_type": "code", - "execution_count": 42, + "execution_count": 40, "id": "1445068b", "metadata": {}, "outputs": [], @@ -952,7 +952,7 @@ }, { "cell_type": "code", - "execution_count": 43, + "execution_count": 41, "id": "4fc47ecd", "metadata": { "tags": [] @@ -974,7 +974,7 @@ }, { "cell_type": "code", - "execution_count": 44, + "execution_count": 42, "id": "91ae9d4c", "metadata": {}, "outputs": [], @@ -993,7 +993,7 @@ }, { "cell_type": "code", - "execution_count": 45, + "execution_count": 43, "id": "8bf595c1", "metadata": {}, "outputs": [], @@ -1016,7 +1016,7 @@ }, { "cell_type": "code", - "execution_count": 46, + "execution_count": 44, "id": "22953b65", "metadata": {}, "outputs": [], @@ -1034,7 +1034,7 @@ }, { "cell_type": "code", - "execution_count": 47, + "execution_count": 45, "id": "1c7cdf4d", "metadata": {}, "outputs": [], @@ -1052,7 +1052,7 @@ }, { "cell_type": "code", - "execution_count": 48, + "execution_count": 46, "id": "a7a3aa42", "metadata": {}, "outputs": [], @@ -1071,7 +1071,7 @@ }, { "cell_type": "code", - "execution_count": 49, + "execution_count": 47, "id": "c4286fb3", "metadata": {}, "outputs": [], @@ -1111,7 +1111,7 @@ }, { "cell_type": "code", - "execution_count": 50, + "execution_count": 48, "id": "d8ee02f6", "metadata": {}, "outputs": [], @@ -1131,7 +1131,7 @@ }, { "cell_type": "code", - "execution_count": 51, + "execution_count": 49, "id": "bfdb1de1", "metadata": {}, "outputs": [], @@ -1158,7 +1158,7 @@ }, { "cell_type": "code", - "execution_count": 52, + "execution_count": 50, "id": "2e73df79", "metadata": {}, "outputs": [], @@ -1176,7 +1176,7 @@ }, { "cell_type": "code", - "execution_count": 53, + "execution_count": 51, "id": "495ad429", "metadata": {}, "outputs": [], @@ -1206,7 +1206,7 @@ }, { "cell_type": "code", - "execution_count": 54, + "execution_count": 52, "id": "c1224061", "metadata": {}, "outputs": [], @@ -1228,7 +1228,7 @@ }, { "cell_type": "code", - "execution_count": 55, + "execution_count": 53, "id": "4296485a", "metadata": {}, "outputs": [], @@ -1247,7 +1247,7 @@ }, { "cell_type": "code", - "execution_count": 56, + "execution_count": 54, "id": "e03fd803", "metadata": { "tags": [] @@ -1259,7 +1259,7 @@ }, { "cell_type": "code", - "execution_count": 57, + "execution_count": 55, "id": "f6ee1840", "metadata": {}, "outputs": [], @@ -1282,7 +1282,7 @@ }, { "cell_type": "code", - "execution_count": 58, + "execution_count": 56, "id": "d6c65d79", "metadata": {}, "outputs": [], @@ -1312,7 +1312,7 @@ }, { "cell_type": "code", - "execution_count": 59, + "execution_count": 57, "id": "3171d592", "metadata": {}, "outputs": [], @@ -1335,7 +1335,7 @@ }, { "cell_type": "code", - "execution_count": 60, + "execution_count": 58, "id": "3321e6a4", "metadata": {}, "outputs": [], @@ -1353,7 +1353,7 @@ }, { "cell_type": "code", - "execution_count": 61, + "execution_count": 59, "id": "e4e55c71", "metadata": {}, "outputs": [], @@ -1372,7 +1372,7 @@ }, { "cell_type": "code", - "execution_count": 62, + "execution_count": 60, "id": "f25dcb5e", "metadata": {}, "outputs": [], @@ -1391,7 +1391,7 @@ }, { "cell_type": "code", - "execution_count": 63, + "execution_count": 61, "id": "990354a0", "metadata": {}, "outputs": [], @@ -1413,7 +1413,7 @@ }, { "cell_type": "code", - "execution_count": 64, + "execution_count": 62, "id": "b9371452", "metadata": {}, "outputs": [], @@ -1441,7 +1441,7 @@ }, { "cell_type": "code", - "execution_count": 65, + "execution_count": 63, "id": "8c3f45c2", "metadata": {}, "outputs": [], @@ -1464,7 +1464,7 @@ }, { "cell_type": "code", - "execution_count": 66, + "execution_count": 64, "id": "641990a3", "metadata": {}, "outputs": [], @@ -1487,7 +1487,7 @@ }, { "cell_type": "code", - "execution_count": 67, + "execution_count": 65, "id": "9322a49a", "metadata": {}, "outputs": [], @@ -1509,7 +1509,7 @@ }, { "cell_type": "code", - "execution_count": 68, + "execution_count": 66, "id": "45a60c52", "metadata": {}, "outputs": [], @@ -1533,7 +1533,7 @@ }, { "cell_type": "code", - "execution_count": 69, + "execution_count": 67, "id": "3e86102c", "metadata": { "tags": [] @@ -1553,7 +1553,7 @@ }, { "cell_type": "code", - "execution_count": 70, + "execution_count": 68, "id": "e49d52f7", "metadata": {}, "outputs": [], @@ -1590,7 +1590,7 @@ }, { "cell_type": "code", - "execution_count": 71, + "execution_count": 69, "id": "15108884", "metadata": {}, "outputs": [], @@ -1602,7 +1602,7 @@ }, { "cell_type": "code", - "execution_count": 72, + "execution_count": 70, "id": "747a41be", "metadata": { "tags": [] @@ -1626,7 +1626,7 @@ }, { "cell_type": "code", - "execution_count": 73, + "execution_count": 71, "id": "5a4682dc", "metadata": {}, "outputs": [], @@ -1647,7 +1647,7 @@ }, { "cell_type": "code", - "execution_count": 74, + "execution_count": 72, "id": "36ee0f76", "metadata": {}, "outputs": [], @@ -1782,7 +1782,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 73, "id": "05752b6d", "metadata": { "tags": [] @@ -1807,7 +1807,7 @@ }, { "cell_type": "code", - "execution_count": 75, + "execution_count": 74, "id": "a4365ac0", "metadata": {}, "outputs": [], @@ -1850,7 +1850,7 @@ }, { "cell_type": "code", - "execution_count": 76, + "execution_count": 75, "id": "f38a61ff", "metadata": {}, "outputs": [], @@ -1860,7 +1860,7 @@ }, { "cell_type": "code", - "execution_count": 77, + "execution_count": 76, "id": "d047e546", "metadata": {}, "outputs": [], @@ -1880,7 +1880,7 @@ }, { "cell_type": "code", - "execution_count": 78, + "execution_count": 77, "id": "6b8932ee", "metadata": { "tags": [] @@ -1908,7 +1908,7 @@ }, { "cell_type": "code", - "execution_count": 79, + "execution_count": 78, "id": "44c3f0d8", "metadata": { "tags": [] @@ -1932,7 +1932,7 @@ }, { "cell_type": "code", - "execution_count": 80, + "execution_count": 79, "id": "3fcf85f4", "metadata": {}, "outputs": [], @@ -1950,7 +1950,7 @@ }, { "cell_type": "code", - "execution_count": 81, + "execution_count": 80, "id": "d9e554e3", "metadata": {}, "outputs": [], @@ -1975,7 +1975,7 @@ }, { "cell_type": "code", - "execution_count": 82, + "execution_count": 81, "id": "8c2ee21c", "metadata": { "tags": [] @@ -2003,7 +2003,7 @@ }, { "cell_type": "code", - "execution_count": 83, + "execution_count": 82, "id": "b13384e3", "metadata": { "tags": [] @@ -2023,7 +2023,7 @@ }, { "cell_type": "code", - "execution_count": 84, + "execution_count": 83, "id": "62c2177f", "metadata": {}, "outputs": [], @@ -2057,7 +2057,7 @@ }, { "cell_type": "code", - "execution_count": 85, + "execution_count": 84, "id": "64e11f26", "metadata": { "tags": [] @@ -2081,7 +2081,7 @@ }, { "cell_type": "code", - "execution_count": 86, + "execution_count": 85, "id": "fe2d93fa", "metadata": {}, "outputs": [], @@ -2109,7 +2109,7 @@ }, { "cell_type": "code", - "execution_count": 89, + "execution_count": 86, "id": "22210a5c", "metadata": {}, "outputs": [], diff --git a/chapters/chap15.ipynb b/chapters/chap15.ipynb index 52fb9c8..f7dfa60 100644 --- a/chapters/chap15.ipynb +++ b/chapters/chap15.ipynb @@ -373,7 +373,7 @@ "id": "e6a18c76", "metadata": {}, "source": [ - "Now that we have `Time.from_seconds`, we can use it to write `add_time` as a method.\n", + "Now that we have `Time.int_to_time`, we can use it to write `add_time` as a method.\n", "Here's the function from the previous chapter." ] }, @@ -409,7 +409,7 @@ "\n", " def add_time(self, hours, minutes, seconds):\n", " duration = make_time(hours, minutes, seconds)\n", - " seconds = time_to_int(self) + time_to_int(duration)\n", + " seconds = Time.time_to_int(self) + Time.time_to_int(duration)\n", " return Time.int_to_time(seconds)" ] }, @@ -431,7 +431,7 @@ "outputs": [], "source": [ "end = start.add_time(1, 32, 0)\n", - "print_time(end)" + "end.print_time()" ] }, { @@ -836,7 +836,7 @@ "\n", " def is_after(self, other):\n", " assert self.is_valid(), 'self is not a valid Time'\n", - " assert other.is_valid(), 'self is not a valid Time'\n", + " assert other.is_valid(), 'other is not a valid Time'\n", " return self.time_to_int() > other.time_to_int()" ] }, @@ -924,7 +924,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 36, "id": "3115ea33", "metadata": { "tags": [] @@ -960,7 +960,7 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 37, "id": "133d7679", "metadata": {}, "outputs": [], @@ -992,7 +992,7 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": 38, "id": "3c9f3777-4869-481e-9f4e-4223d6028913", "metadata": {}, "outputs": [], @@ -1012,7 +1012,7 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": 39, "id": "fd4b2521-aa71-45da-97eb-ce62ce2714ad", "metadata": { "tags": [] @@ -1025,7 +1025,7 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": 40, "id": "ee3f1294-cad1-406b-a574-045ad2b84294", "metadata": { "tags": [] @@ -1038,7 +1038,7 @@ }, { "cell_type": "code", - "execution_count": 40, + "execution_count": 41, "id": "ac093f7b-83cf-4488-8842-5c71bcfa35ec", "metadata": { "tags": [] @@ -1050,7 +1050,7 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": 42, "id": "7e7cb5e1-631f-4b1e-874f-eb16d4792625", "metadata": { "tags": [] diff --git a/chapters/chap16.ipynb b/chapters/chap16.ipynb index 57f3d41..eb84e1c 100644 --- a/chapters/chap16.ipynb +++ b/chapters/chap16.ipynb @@ -234,7 +234,7 @@ "id": "a7a635ee", "metadata": {}, "source": [ - "In the same way that the built in function `sort` modifies a list, and the `sorted` function creates a new list, now we have a `translate` method that modifies a `Point` and a `translated` method that creates a new one.\n", + "In the same way that the `sort` method modifies a list and the `sorted` function creates a new list, now we have a `translate` method that modifies a `Point` and a `translated` method that creates a new one.\n", "\n", "Here's an example:" ] diff --git a/chapters/chap18.ipynb b/chapters/chap18.ipynb index 41d5fc1..3027822 100644 --- a/chapters/chap18.ipynb +++ b/chapters/chap18.ipynb @@ -1661,7 +1661,7 @@ "id": "07be77f3", "metadata": {}, "source": [ - "In this example, the value of `kwargs` is printed, but otherwise is has no effect.\n", + "In this example, the value of `kwargs` is printed, but otherwise it has no effect.\n", "\n", "But the `**` operator can also be used in an argument list to unpack a dictionary.\n", "For example, here's a version of `mean` that packs any keyword arguments it gets and then unpacks them as keyword arguments for `sum`." From bca0892915f15937b2122046db3d5bb155a57188 Mon Sep 17 00:00:00 2001 From: Allen Downey Date: Mon, 12 Jan 2026 16:32:12 -0500 Subject: [PATCH 30/30] Updating the zip file --- ThinkPythonNotebooks.zip | Bin 579251 -> 579250 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/ThinkPythonNotebooks.zip b/ThinkPythonNotebooks.zip index 4be25fae6d89b5d67784f9163742d7ff4875de68..f5c786643b81d9a6019a6db62913690c0b0cc086 100644 GIT binary patch delta 40437 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 delta 40563 zcmY(qQ;;Ug5-r>|r)}Fdr)}GuwvDfCThq2}+qP}nefQZn{(H{!e`dVSn5d{dSm@Sd1 zh%hk=4(|V98fxK$!2rz{eqI?8d*GGX;!#BCzK!Q%6{=0vCJ!00?1N>NPr}y6CohDGMF8w_W{J22c$6;5XtFVQ zWr*Vm$XTtXUW|9`Y~K-G$;`qTFtHyZXrLyW??mUT?#Su}5c^Nbbt{BP+rqo(5!&v# z8uHvuDYt^P(725}jris@Xlv0H;ALpbYrWN|v$c>RW=CG2l?jR5&odoxU}m8=7BhYm zoBhZVp1(P=c>w#f!Fi{9F2$tdH^OdUt4OdxU4)lVp3CKx##(w4Isn3v!JJ;%YaGdg zxw}V2Uv|EC>iJjA?bG0>q}p`$?5DtA9`yr@m2;wU<+Q~RgXI<)MQzX;DQ>arxm5S; zVN%#cs3aypFw7}(CUszN5T>v(rBIwSIDQDG{jH}G7J&7>Qkx80F5yYS7G_|y-|_fG zs6pZS{TkevNKj6)YY>&laY~rV9YpGtpe4=)uEh0~Lb#-E;U+4w^^R#K$Fj+DuMW;s zmY~?i-N{)j1=rM6;AZgZW(C?l8SHNTpnsoJK%tE2(Yq>&$a{dt)cV*EI>h|ky*Y`b zPaLowvj9f9Xyf%7nC#L>^M|Oy664TEC8^FKZW=ZbXF_(mLfTs;3ZV?p8I6nN57F=} z7-4`)$`xzkSJ9!THwfa|7NP{Ks=WaIBh%qci0|d};;tBpj8-Wvt;Vp9E?wxC8UaU% zQp7x!=GPo5Aw5{tvR;T;CK}&7dDtz%sH)st3qV`ExyMBza8a;|6`OWAF>0p!?fntW zOWZ&RXeF7EQ5rb)6k&awnG=~s8W|_UWsg2uZ4dtuF%#b*>12JZsX*L`_XT<``q6+< z=mR%j30wcWldLVF*Q^y3`B6v~C68E6V>pR@j`dnvVj`%lxiogPIGQc|H3JEe8etMH zKVSt54Ttxl1et^HoX~APFf08FL1~Lg6`wu6j)Sg83e(wKzBRvC4YK92PF2{?VcqZ zwNp64CIP)A>9Du|w$mwUB8!>Q%->!)Nbk2rc{RPoTE0f?+@OUxiVjPV57*K(Gr;oj z1RGaaxESxG5~oBbQfocU3A&MAkk%5)b{HAa@WH(-?`5^Y=kYrRGFb~ypu)+ynS-B= zpY3b9BkoztF_(=1jeT2(q)cQQ)9eRj&4O2moI6EkpMZGRk$d1&A(<$2o4*~sm_bLQ zjJd4T`z9~jMJ^3eyx9uJ{$aAz0ubuigy`;MdGS;j200{2K_X{_$ z_#no3DZ5BHF_1~$Q9yGvKc8tFckhUf6mI$K4_RhVSwsl35xxQvp_!H6nj|zx(I9H} zt`+cMl_WTZnIFfx;J$~F%#0UEWmm~DpqgiClv7JAdl6+|OV*LhTrJr|I_2^zD-eNtjRXrq_sJG7#w>cC_*hal0fc}Tm0tU4-5g-d zS+|oq2RIoh8q@dDSuiR#ZT?(DZr5+86J<7Q7AJ4O6{F4D)@=h1w{u|zq1@qviN|g? z5bSWEg`<7485CY&agKLvGRms16@T|)sKVAP&t3I}RjG#r>kszN_E3?oGWrpm9EBy# z{_4*;KrgGCei%gE0CY=rZIJC3GVBt{fi&M7V=Eak;&o3m*%+P^!h~0urlHS~Vc-Ha z&cES;M4@&l|5&zm$Xq2i*4)`jPDT#0(mV5}4%~E=xg7UnL3kzW$9bO$ej%0DRuxg^ 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

rqCX*zxR=E-W{3N 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 Wm;o9fsioS^0434Y5y1P$^8WyuJy~r4