Python中for循环每次迭代后更新sigma变量的实现问题
修正循环中sigma的更新逻辑
你的代码问题在于每次循环都把sigma重置为初始值10,所以第二次迭代时并没有用上一次计算出的-10,而是重新从10开始计算,导致输出不符合预期。
将sigma的初始化语句移到循环外部,就能实现基于上一次结果更新的逻辑:
sigma = 10 # 初始值仅在循环前设置一次 for t in range(0, 2): sigma = 0.5 * sigma * (t - 2) print(sigma)
执行这段代码后,会输出:
-10 5
完全符合预期:
- t=0时,用初始值10计算,得到
0.5*10*(0-2) = -10 - t=1时,用上一次迭代得到的-10计算,得到
0.5*(-10)*(1-2) = 5
内容的提问来源于stack exchange,提问作者user19862793
相关产品推荐
相关产品推荐

