我需要创建一个函数来正确计算E m 为E m = 1-mE m-1
我在弄清楚为什么我的变量未返回正确值时遇到了一些问题。这是我要解决的问题的摘要
编写一个称为积分的函数,该函数将整数m
作为输入,并且
使用下面描述的算法,返回E_m
的值。确保正确索引此索引,即E 0 = 1-1 / e
不是E1 = 1 − 1 / e。如果尝试将其作为索引数组来执行操作,请务必谨慎使用Python进行索引。
Set E = 1 - 1/e
for j = 1, ... , m do
E = 1 - j*E
end for
return E
这是我的代码
import numpy as np
def integration(m):
E_m = 1 - 1/np.e
for j in range(m):
E_m = 1 - j*E_m
return E_m
我的代码if m > 0
返回错误的答案(例如,integration(1)
返回1
,应为1 - 1*(1-1/e)
)。文本似乎表明我应该使用数组,但是我不明白为什么需要这样做。 为什么我的代码不能正确地重新定义变量E_m?我是Python的新手,所以我不确定在重新定义变量名时是否存在问题。
答案 0 :(得分:1)
Python循环以0开头,并且不包含在内。尝试range(1, m+1)