Question: a) Write a generator function called gen_factorials(n) that generates the first n factorials, beginning with 0! (which is 1 by definition). So, gen_factonials(10) should generate

 a) Write a generator function called gen_factorials(n) that generates the first

a) Write a generator function called gen_factorials(n) that generates the first n factorials, beginning with 0! (which is 1 by definition). So, gen_factonials(10) should generate this sequence: 0, , , 9!, which is the same as 1, 1, 2, 6, 24, 120, 720, 5040, 40320, 362880. Do NOT recompute the current factorial from scratch at each iteration.Instead preserve the current value between calls and update it. b) Write a Python expression using sum) and a generator expression that uses the generator from point a) (gen_factorials) to compute an approximation e_star of Euler's number e-2.718281., the base of the natural logarithms, using the formula: e* = o + + +. . +11 , where n is a local positive int variable. Remember that the generator outputs the first n numbers from the factorial sequence c) Use the functools.reduce(), map() functions, and lambda expressions to compute e_star, as defined for part b). To get credit do NOT use the sum() function. Assume n is a positive local int variable. Hint: first map the sequence of factorials to a sequence of 1/factorials. Reduce with the + operator

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!