|
86 | 86 | " \n",
|
87 | 87 | " # Recursion\n",
|
88 | 88 | " else:\n",
|
89 |
| - " return n%10 + sum_func(n/10)" |
| 89 | + " return n%10 + sum_func(n//10)" |
90 | 90 | ]
|
91 | 91 | },
|
92 | 92 | {
|
|
95 | 95 | "metadata": {},
|
96 | 96 | "outputs": [
|
97 | 97 | {
|
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" |
110 | 106 | }
|
111 | 107 | ],
|
112 | 108 | "source": [
|
|
136 | 132 | "metadata": {},
|
137 | 133 | "outputs": [],
|
138 | 134 | "source": [
|
139 |
| - "4321 / 10" |
| 135 | + "4321 // 10" |
140 | 136 | ]
|
141 | 137 | },
|
142 | 138 | {
|
|
146 | 142 | },
|
147 | 143 | "source": [
|
148 | 144 | "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)" |
150 | 148 | ]
|
151 | 149 | },
|
152 | 150 | {
|
|
0 commit comments