2016-10-04 62 views
-3

我有2个问题需要寻求帮助。有一个问题我不完全明白,所以如果有人能够帮助我,那会很好。Python迭代作业

问题之一(一个我并不完全理解):

一个E的定义是

Formula for e

这可以作为my_e = 1 /计算math.factorial(0)+ 1/math.factorial(1)+ 1/math.factorial(2)+ 1/math.factorial(3)+ ...

设n是math.factorial()函数的输入数字。 n依次取0,1,2,3等。找到最小的n,使得(my_e - math.e)的绝对值小于或等于10-10。也就是说,abs(my_e - math.e)< =(10 ** -10)。

我只是不完全明白我被要求做什么。澄清会很好。谢谢!

问题2:

要求用户输入一系列整数。将它们汇总并打印出用户输入的总数和整数。

My code

因此,什么应该发生的是之后我进入我想输入数字,并按下回车键,就应该计算并打印出“总和= 25计数= 3”。屏幕截图显示了我收到的错误消息。

任何帮助你有欢迎和极大的赞赏。

+1

我们不会为你做你的功课。如果你花时间阅读规则,[帮助],[常见问题],[麦克],然后提出一个新的问题,然后我们可以帮助你。 –

+1

另外,每个问题有一个问题,因为这两者在技术上完全不相关。 – Macke

+1

这是一个很好的问题**要求你的导师**或你的学校的部门*导师*这项任务要求你做什么。 StackOverflow实际上并不是要求澄清你的老师家庭作业的地方,最好的答案是将作业分配给你的人。之后,如果您在完成作业解决方案时遇到特定困难,可以在此处获得帮助。 – davedwards

回答

0

至于你的第一个问题有云:

>>> import math 
>>> math.e 
2.718281828459045 
>>> sum(1.0/math.factorial(i) for i in range(5)) 
2.708333333333333 
>>> abs(sum(1.0/math.factorial(i) for i in range(5)) - math.e) < 10**-10 
False 
>>> abs(sum(1.0/math.factorial(i) for i in range(30)) - math.e) < 10**-10 
True 

因此,介于n == 5n == 30你得到e 10位小数。在while循环中按照术语创建和项(而不是像我一样使用和函数,因为您不太可能看到该语法)。在循环的每一次通过中,将总和与math.e进行比较。当你达到目标准确度时停止。返回最后的n

+0

非常感谢!这比我所要求的还要多。我现在知道了。我真的很感激,并再次感谢你! –