|
17 | 17 | }, |
18 | 18 | { |
19 | 19 | "cell_type": "code", |
20 | | - "execution_count": null, |
| 20 | + "execution_count": 2, |
21 | 21 | "metadata": { |
22 | 22 | "collapsed": true |
23 | 23 | }, |
|
29 | 29 | }, |
30 | 30 | { |
31 | 31 | "cell_type": "code", |
32 | | - "execution_count": null, |
| 32 | + "execution_count": 3, |
33 | 33 | "metadata": { |
34 | 34 | "collapsed": false, |
35 | 35 | "scrolled": true |
36 | 36 | }, |
37 | | - "outputs": [], |
| 37 | + "outputs": [ |
| 38 | + { |
| 39 | + "ename": "AssertionError", |
| 40 | + "evalue": "", |
| 41 | + "output_type": "error", |
| 42 | + "traceback": [ |
| 43 | + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", |
| 44 | + "\u001b[0;31mAssertionError\u001b[0m Traceback (most recent call last)", |
| 45 | + "\u001b[0;32m<ipython-input-3-e5d2d9c5d319>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;31m# when the argument is false, an assertion error is raised\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0;32massert\u001b[0m \u001b[0;32mTrue\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;32mFalse\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", |
| 46 | + "\u001b[0;31mAssertionError\u001b[0m: " |
| 47 | + ] |
| 48 | + } |
| 49 | + ], |
38 | 50 | "source": [ |
39 | 51 | "# when the argument is false, an assertion error is raised\n", |
40 | 52 | "assert True == False" |
41 | 53 | ] |
42 | 54 | }, |
43 | 55 | { |
44 | 56 | "cell_type": "code", |
45 | | - "execution_count": null, |
| 57 | + "execution_count": 4, |
46 | 58 | "metadata": { |
47 | 59 | "collapsed": false, |
48 | 60 | "scrolled": true |
49 | 61 | }, |
50 | | - "outputs": [], |
| 62 | + "outputs": [ |
| 63 | + { |
| 64 | + "ename": "AssertionError", |
| 65 | + "evalue": "True is not False", |
| 66 | + "output_type": "error", |
| 67 | + "traceback": [ |
| 68 | + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", |
| 69 | + "\u001b[0;31mAssertionError\u001b[0m Traceback (most recent call last)", |
| 70 | + "\u001b[0;32m<ipython-input-4-5c334bceab7f>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;31m# an error message can even be added to the assertion\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0;32massert\u001b[0m \u001b[0;32mTrue\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;32mFalse\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"True is not False\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", |
| 71 | + "\u001b[0;31mAssertionError\u001b[0m: True is not False" |
| 72 | + ] |
| 73 | + } |
| 74 | + ], |
51 | 75 | "source": [ |
52 | 76 | "# an error message can even be added to the assertion\n", |
53 | 77 | "assert True == False, \"True is not False\"" |
|
64 | 88 | }, |
65 | 89 | { |
66 | 90 | "cell_type": "code", |
67 | | - "execution_count": null, |
| 91 | + "execution_count": 5, |
68 | 92 | "metadata": { |
69 | 93 | "collapsed": false |
70 | 94 | }, |
71 | | - "outputs": [], |
| 95 | + "outputs": [ |
| 96 | + { |
| 97 | + "ename": "ZeroDivisionError", |
| 98 | + "evalue": "division by zero", |
| 99 | + "output_type": "error", |
| 100 | + "traceback": [ |
| 101 | + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", |
| 102 | + "\u001b[0;31mZeroDivisionError\u001b[0m Traceback (most recent call last)", |
| 103 | + "\u001b[0;32m<ipython-input-5-78dbe8a12ddf>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0msum\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnum_list\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnum_list\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 4\u001b[0;31m \u001b[0mmean\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", |
| 104 | + "\u001b[0;32m<ipython-input-5-78dbe8a12ddf>\u001b[0m in \u001b[0;36mmean\u001b[0;34m(num_list)\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mmean\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnum_list\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0msum\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnum_list\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnum_list\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mmean\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", |
| 105 | + "\u001b[0;31mZeroDivisionError\u001b[0m: division by zero" |
| 106 | + ] |
| 107 | + } |
| 108 | + ], |
72 | 109 | "source": [ |
73 | 110 | "def mean(num_list):\n", |
74 | 111 | " return sum(num_list)/len(num_list)\n", |
|
85 | 122 | }, |
86 | 123 | { |
87 | 124 | "cell_type": "code", |
88 | | - "execution_count": null, |
| 125 | + "execution_count": 6, |
89 | 126 | "metadata": { |
90 | 127 | "collapsed": false |
91 | 128 | }, |
92 | | - "outputs": [], |
| 129 | + "outputs": [ |
| 130 | + { |
| 131 | + "ename": "AssertionError", |
| 132 | + "evalue": "the input is empty but should be a list of numbers", |
| 133 | + "output_type": "error", |
| 134 | + "traceback": [ |
| 135 | + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", |
| 136 | + "\u001b[0;31mAssertionError\u001b[0m Traceback (most recent call last)", |
| 137 | + "\u001b[0;32m<ipython-input-6-00b3a334fbad>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0msum\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnum_list\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnum_list\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 5\u001b[0;31m \u001b[0mmean\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", |
| 138 | + "\u001b[0;32m<ipython-input-6-00b3a334fbad>\u001b[0m in \u001b[0;36mmean\u001b[0;34m(num_list)\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mmean\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnum_list\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0;32massert\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnum_list\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m!=\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"the input is empty but should be a list of numbers\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0msum\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnum_list\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnum_list\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0mmean\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", |
| 139 | + "\u001b[0;31mAssertionError\u001b[0m: the input is empty but should be a list of numbers" |
| 140 | + ] |
| 141 | + } |
| 142 | + ], |
93 | 143 | "source": [ |
94 | 144 | "def mean(num_list):\n", |
95 | | - " assert len(num_list) != 0, \"the input is empty\"\n", |
| 145 | + " assert len(num_list) != 0, \"the input is empty but should be a list of numbers\"\n", |
96 | 146 | " return sum(num_list)/len(num_list)\n", |
97 | 147 | "\n", |
98 | 148 | "mean([])" |
|
107 | 157 | }, |
108 | 158 | { |
109 | 159 | "cell_type": "code", |
110 | | - "execution_count": null, |
| 160 | + "execution_count": 7, |
111 | 161 | "metadata": { |
112 | 162 | "collapsed": false |
113 | 163 | }, |
114 | | - "outputs": [], |
| 164 | + "outputs": [ |
| 165 | + { |
| 166 | + "ename": "TypeError", |
| 167 | + "evalue": "unsupported operand type(s) for +: 'int' and 'str'", |
| 168 | + "output_type": "error", |
| 169 | + "traceback": [ |
| 170 | + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", |
| 171 | + "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", |
| 172 | + "\u001b[0;32m<ipython-input-7-b40137885f93>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mmean\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"nonempty-nonlist\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", |
| 173 | + "\u001b[0;32m<ipython-input-6-00b3a334fbad>\u001b[0m in \u001b[0;36mmean\u001b[0;34m(num_list)\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mmean\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnum_list\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0;32massert\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnum_list\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m!=\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"the input is empty but should be a list of numbers\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0msum\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnum_list\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnum_list\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 4\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0mmean\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", |
| 174 | + "\u001b[0;31mTypeError\u001b[0m: unsupported operand type(s) for +: 'int' and 'str'" |
| 175 | + ] |
| 176 | + } |
| 177 | + ], |
115 | 178 | "source": [ |
116 | 179 | "mean(\"nonempty-nonlist\")" |
117 | 180 | ] |
|
127 | 190 | }, |
128 | 191 | { |
129 | 192 | "cell_type": "code", |
130 | | - "execution_count": null, |
| 193 | + "execution_count": 8, |
131 | 194 | "metadata": { |
132 | 195 | "collapsed": false |
133 | 196 | }, |
134 | 197 | "outputs": [], |
135 | 198 | "source": [ |
136 | 199 | "def mean(num_list):\n", |
137 | 200 | " assert len(num_list) != 0, \"the input is empty\"\n", |
| 201 | + " assert isinstance(num_list, list), \"the input must be a list\"\n", |
138 | 202 | " # insert your assertion here\n", |
139 | 203 | " return sum(num_list)/len(num_list)" |
140 | 204 | ] |
141 | 205 | }, |
142 | 206 | { |
143 | 207 | "cell_type": "code", |
144 | | - "execution_count": null, |
| 208 | + "execution_count": 9, |
145 | 209 | "metadata": { |
146 | 210 | "collapsed": false |
147 | 211 | }, |
148 | | - "outputs": [], |
| 212 | + "outputs": [ |
| 213 | + { |
| 214 | + "data": { |
| 215 | + "text/plain": [ |
| 216 | + "2.0" |
| 217 | + ] |
| 218 | + }, |
| 219 | + "execution_count": 9, |
| 220 | + "metadata": {}, |
| 221 | + "output_type": "execute_result" |
| 222 | + } |
| 223 | + ], |
149 | 224 | "source": [ |
150 | 225 | "# Does it give the right answer?\n", |
151 | 226 | "mean([1,2,3])" |
152 | 227 | ] |
153 | 228 | }, |
154 | 229 | { |
155 | 230 | "cell_type": "code", |
156 | | - "execution_count": null, |
| 231 | + "execution_count": 10, |
157 | 232 | "metadata": { |
158 | 233 | "collapsed": false |
159 | 234 | }, |
160 | | - "outputs": [], |
| 235 | + "outputs": [ |
| 236 | + { |
| 237 | + "ename": "AssertionError", |
| 238 | + "evalue": "the input must be a list", |
| 239 | + "output_type": "error", |
| 240 | + "traceback": [ |
| 241 | + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", |
| 242 | + "\u001b[0;31mAssertionError\u001b[0m Traceback (most recent call last)", |
| 243 | + "\u001b[0;32m<ipython-input-10-97e4976488ed>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;31m# Does this cause it to halt with a type message?\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mmean\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"test\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", |
| 244 | + "\u001b[0;32m<ipython-input-8-95737c8c1621>\u001b[0m in \u001b[0;36mmean\u001b[0;34m(num_list)\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mmean\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnum_list\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0;32massert\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnum_list\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m!=\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"the input is empty\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m \u001b[0;32massert\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnum_list\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlist\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"the input must be a list\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 4\u001b[0m \u001b[0;31m# insert your assertion here\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0msum\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnum_list\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnum_list\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", |
| 245 | + "\u001b[0;31mAssertionError\u001b[0m: the input must be a list" |
| 246 | + ] |
| 247 | + } |
| 248 | + ], |
161 | 249 | "source": [ |
162 | 250 | "# Does this cause it to halt with a type message?\n", |
163 | 251 | "mean(\"test\")" |
164 | 252 | ] |
165 | 253 | }, |
166 | 254 | { |
167 | 255 | "cell_type": "code", |
168 | | - "execution_count": null, |
| 256 | + "execution_count": 11, |
169 | 257 | "metadata": { |
170 | 258 | "collapsed": false |
171 | 259 | }, |
172 | | - "outputs": [], |
| 260 | + "outputs": [ |
| 261 | + { |
| 262 | + "ename": "AssertionError", |
| 263 | + "evalue": "the input is empty", |
| 264 | + "output_type": "error", |
| 265 | + "traceback": [ |
| 266 | + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", |
| 267 | + "\u001b[0;31mAssertionError\u001b[0m Traceback (most recent call last)", |
| 268 | + "\u001b[0;32m<ipython-input-11-8f75ac94dc5e>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;31m# Does this cause it to halt with an emptiness message?\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mmean\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", |
| 269 | + "\u001b[0;32m<ipython-input-8-95737c8c1621>\u001b[0m in \u001b[0;36mmean\u001b[0;34m(num_list)\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mmean\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnum_list\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0;32massert\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnum_list\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m!=\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"the input is empty\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3\u001b[0m \u001b[0;32massert\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnum_list\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlist\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"the input must be a list\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0;31m# insert your assertion here\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0msum\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnum_list\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnum_list\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", |
| 270 | + "\u001b[0;31mAssertionError\u001b[0m: the input is empty" |
| 271 | + ] |
| 272 | + } |
| 273 | + ], |
173 | 274 | "source": [ |
174 | 275 | "# Does this cause it to halt with an emptiness message?\n", |
175 | 276 | "mean([])" |
|
193 | 294 | }, |
194 | 295 | { |
195 | 296 | "cell_type": "code", |
196 | | - "execution_count": null, |
| 297 | + "execution_count": 13, |
197 | 298 | "metadata": { |
198 | 299 | "collapsed": false |
199 | 300 | }, |
200 | 301 | "outputs": [], |
201 | 302 | "source": [ |
202 | 303 | "from mynum import a\n", |
203 | | - "# a is greater than 2 assertion here\n", |
| 304 | + "# a is greater or equal to 2 assertion here\n", |
| 305 | + "assert a >= 2\n", |
204 | 306 | "# a is within 2 decimal places of 2 assertion here\n", |
205 | | - "# a is within 0.003 of 2 assertion here" |
| 307 | + "assert \n", |
| 308 | + "# a is within 0.003 of 2 assertion here\n" |
206 | 309 | ] |
207 | 310 | }, |
208 | 311 | { |
|
0 commit comments