Add new exercises set for chapter 04

This commit is contained in:
Alexander Hess 2020-03-12 00:53:56 +01:00
commit c1ad5d8b96
2 changed files with 430 additions and 6 deletions

View file

@ -37,6 +37,28 @@
"## Recursion"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "skip"
}
},
"source": [
"A popular joke among programmers by an unknown author goes like this (cf., [discussion](https://www.quora.com/What-does-the-phrase-in-order-to-understand-recursion-you-must-first-understand-recursion-mean-to-you)):"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "-"
}
},
"source": [
"> \"In order to understand **recursion**, you must first understand **recursion**.\""
]
},
{
"cell_type": "markdown",
"metadata": {
@ -859,7 +881,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"37.3 µs ± 1.25 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n"
"35.2 µs ± 971 ns per loop (mean ± std. dev. of 7 runs, 100 loops each)\n"
]
}
],
@ -881,7 +903,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"11.4 ms ± 144 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n"
"11.2 ms ± 81.1 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n"
]
}
],
@ -903,7 +925,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"3.63 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)\n"
"3.67 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)\n"
]
}
],
@ -925,7 +947,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"5.93 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)\n"
"5.94 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)\n"
]
}
],
@ -4543,7 +4565,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"5.24 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)\n"
"5.22 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)\n"
]
}
],
@ -4824,7 +4846,7 @@
}
},
"source": [
"The `for` statement, on the contrary, makes the actual business logic more apparent by stripping all the **[boilerplate code](https://en.wikipedia.org/wiki/Boilerplate_code)** away."
"The `for` statement, on the contrary, makes the actual business logic more apparent by stripping all the **[boilerplate code](https://en.wikipedia.org/wiki/Boilerplate_code)** away. The variable that is automatically set by Python in each iteration of the loop (i.e., `element` in the example) is called the **target variable**."
]
},
{