<div dir="ltr"><div>Again from tonight's class prep.  <br><br>Such scripts might be useful exhibits if you're still trying to get approval to move beyond a TI calculator in math class.  Playing with extended precision helps bring the concepts of limits and convergence alive.<br><br>My students are employed adults so winning such approval is a non-issue.  But then I ask them to imagine themselves back in school, with Python a tool of choice in math class.  Wouldn't that have been great!?<br><br></div>Kirby<br><br><div><br><span style="font-family:monospace,monospace"><br># -*- coding: utf-8 -*-<br>"""<br>Created on Thu Dec  3 16:40:46 2015<br><br>See:  <a href="http://www.miniwebtool.com/first-n-digits-of-e/?number=300">http://www.miniwebtool.com/first-n-digits-of-e/?number=300</a><br><br>@author: kurner<br><br>LAB:<br><br>Write a unittest to confirm convergence to e to 300 places.<br>after n steps.<br>"""<br><br>import unittest<br><br>from decimal import *<br><br>def euler(n):<br>    n = Decimal(n)<br>    one = Decimal(1)<br>    return (one + one/n) ** n<br><br>class Test_e(unittest.TestCase):<br><br>    def test_outcome(self):<br>        expected = ('2.718281828459045235360287471352662'<br>                    '49775724709369995957496696762772407'<br>                    '66303535475945713821785251664274274'<br>                    '66391932003059921817413596629043572'<br>                    '90033429526059563073813232862794349'<br>                    '07632338298807531952510190115738341'<br>                    '87930702154089149934884167509244761'<br>                    '46066808226480016847741185374234544'<br>                    '2437107539077744992069')<br>        with localcontext() as c:<br>            c.prec = 400<br>            result = euler('1' + '0' * 301)<br><br>        self.assertEqual(str(result)[:len(expected)], expected)<br><br>if __name__ == "__main__":<br>    unittest.main()<br>        <br></span><br></div></div>