如何从Python while循环中提取最后两个sum_2值用于线性插值
提取半衰减层厚计算循环最后两次sum_2值的实现方法
你可以新增变量存储上一轮循环的sum_2值,每次循环迭代时同步更新存储值即可,修改后的代码如下:
t = 0 # 初始化历史值存储变量 prev_sum_2 = None current_sum_2 = sum_2 # 继承循环前的sum_2初始值 while current_sum_2 > sum_ker / 2: # sum_ker 为衰减前的辐射强度 prev_sum_2 = current_sum_2 # 先将当前值归档为上一轮结果 current_sum_2 = 0 # 已补全原代码缺失的右括号 for i in range(len(mu_Cu)): c = ker[i] * np.exp(- mu_Cu[i] * t) current_sum_2 += c t += 0.001 # 最终得到的两次sum_2值,可直接用于线性插值 last_two_sum = [prev_sum_2, current_sum_2]
- 循环结束后,
prev_sum_2是循环终止前最后一次满足current_sum_2 > sum_ker / 2的计算结果,current_sum_2是第一次不满足循环条件的计算结果,刚好对应你需要的最后两次循环的sum_2值 - 原代码的
range(len(mu_Cu)存在缺失右括号的语法错误,上述代码已经同步修正
内容的提问来源于stack exchange,提问作者Tellun
相关产品推荐
相关产品推荐

