我需要创建正确计算EM为EM = 1的功能 - MEM-1
我在弄清楚为什么我的变量没有返回正确的值的一些问题。这里是我解决这一问题的总结
写的函数称为积分该作为输入的整数m
和,使用下面描述的算法,返回E_m
的值。请确保你指数这一正确的,即E0 = 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,所以我不知道这是否是在重新定义或不具有变量名称的问题。
Python的循环从0开始的和非包容性。尝试range(1, m+1)