我正在写一些代码,作为我试图与其进行研究的教授给我总结的代码。问题涉及设置30个单行数组,每个数组中包含50个元素。这些数组由25个'e'和25'k个元素组成。 “ e”的值为1,“ k”的值为-1。求和中的m和n分别是e和k的位置。汇总是从Google图片链接的,我是在化学交流网站上找到的
我编写了一个函数来查找数组中m和n的位置,然后我尝试使用嵌套的for循环创建一个函数,其中输入是特定的数组(我将它们表示为s1, s2等...)以输出求和的答案
def m_value(position_num,array_name):
m_value = [i for i,n in enumerate(array_name) if n == 'e'][position_num]
return m_value
那是找到我的m职位。求和尝试是:
def SCD(array_name):
"""
this should sum all of the elements in accordance with the
SCD summation formula. see notes to see full layout of
formula and elements
"""
summ = 0
position_num=0
for n in range(0,m_value(position_num,array_name)-1):
for m in range (1,N + 1):
function = e_charge*k_charge*np.sqrt(m_value - n_value)
while position_num<24:
position_num = position_num + 1
summ += function/N
return summ
我的函数始终返回零值,我真的不认为这是正确的,所以我只是认为也许我的求和错误了。
注意:我对python和stackoverflow非常陌生。如果我的问题的某些部分不清楚,我将尽力提供更多的背景信息和细节。如果我的代码难以辨认,我可以详细说明其背后的思考过程。让我知道您是否有解决方法或更有效地执行此操作。谢谢