Skip to content

Commit 4db793e

Browse files
committed
Changed errorneous recursion solution to integer division and added a hint
1 parent 5767110 commit 4db793e

File tree

1 file changed

+13
-15
lines changed

1 file changed

+13
-15
lines changed

05-Recursion/03-Recursion Homework Example Problems - SOLUTIONS.ipynb

+13-15
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@
8686
" \n",
8787
" # Recursion\n",
8888
" else:\n",
89-
" return n%10 + sum_func(n/10)"
89+
" return n%10 + sum_func(n//10)"
9090
]
9191
},
9292
{
@@ -95,18 +95,14 @@
9595
"metadata": {},
9696
"outputs": [
9797
{
98-
"ename": "RecursionError",
99-
"evalue": "maximum recursion depth exceeded while getting the str of an object",
100-
"output_type": "error",
101-
"traceback": [
102-
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
103-
"\u001b[0;31mRecursionError\u001b[0m Traceback (most recent call last)",
104-
"\u001b[0;32m<ipython-input-4-a557a69e80e0>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0msum_func\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m4321\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
105-
"\u001b[0;32m<ipython-input-3-98805590be21>\u001b[0m in \u001b[0;36msum_func\u001b[0;34m(n)\u001b[0m\n\u001b[1;32m 6\u001b[0m \u001b[0;31m# Recursion\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 8\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mn\u001b[0m\u001b[0;34m%\u001b[0m\u001b[0;36m10\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0msum_func\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mn\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0;36m10\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
106-
"... last 1 frames repeated, from the frame below ...\n",
107-
"\u001b[0;32m<ipython-input-3-98805590be21>\u001b[0m in \u001b[0;36msum_func\u001b[0;34m(n)\u001b[0m\n\u001b[1;32m 6\u001b[0m \u001b[0;31m# Recursion\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 8\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mn\u001b[0m\u001b[0;34m%\u001b[0m\u001b[0;36m10\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0msum_func\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mn\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0;36m10\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
108-
"\u001b[0;31mRecursionError\u001b[0m: maximum recursion depth exceeded while getting the str of an object"
109-
]
98+
"data": {
99+
"text/plain": [
100+
"10"
101+
]
102+
},
103+
"execution_count": 4,
104+
"metadata": {},
105+
"output_type": "execute_result"
110106
}
111107
],
112108
"source": [
@@ -136,7 +132,7 @@
136132
"metadata": {},
137133
"outputs": [],
138134
"source": [
139-
"4321 / 10"
135+
"4321 // 10"
140136
]
141137
},
142138
{
@@ -146,7 +142,9 @@
146142
},
147143
"source": [
148144
"We'll need to think of this function recursively by knowing that:\n",
149-
"4502 % 10 + sum_func(4502/10)"
145+
"4502 % 10 + sum_func(4502//10)\n",
146+
"\n",
147+
"Hint2: python3 automatically converts the result of a division to float! Make sure to use integer division (a//b)"
150148
]
151149
},
152150
{

0 commit comments

Comments
 (0)