我有一个方程式,基于每小时( time_set中的时间索引t从1到24)功率值绘制电池SOCt,c的充电状态。电源用于每个充电站(指数c从1到4),对于每个充电站,我有有限数量的电池要充电(指数i从1到6)。在我的例子中,循环是当i电池完成充电并且充电状态达到0.8时。我的部分代码如下所示,但在结果中,我得到了超过6个循环(i)。任何人都知道如何将充电电池的数量限制在6个,并从pyhton那里获得6个循环。
for t in time_set:
for c in range(1,5):
i=0
Pev[t,c]<=50
Pev[t,c]>=-50
SOC[t,c]<=0.95
SOC[t,c]>=0.2
SOC[t,c]==SOC[t-1,c,i]+(delta*Pev[t,c,i]/40)
if SOC[t,c]>=0.8
i+=1
发布于 2020-07-28 19:18:00
此代码作为独立代码不起作用。你能发布整个代码吗?我假设,您使用i只是为了计算圆圈的数量,但仅当SOCt,c>=0.8?
你的意思是总共超过6个圆圈?当然,公元前。您也有一个外部循环。(“对于time_set中的t:”)
发布于 2020-07-29 21:43:37
输入你想要退出两个循环的代码hereIf当你在内部循环中迭代6次时,你可以使用"break“
exit_t_loop = False
loop_number = 0
for t in time_set:
if exit_t_loop:
break
for c in range(1, 5):
i = 0
Pev[t, c] <= 50
Pev[t, c] >= -50
SOC[t, c] <= 0.95
SOC[t, c] >= 0.2
SOC[t, c] == SOC[t - 1, c, i] + (delta * Pev[t, c, i] / 40)
if SOC[t, c] >= 0.8:
i += 1
loop_number += 1
print(f'loop number: {loop_number}')
if loop_number == 6:
exit_t_loop = True
https://stackoverflow.com/questions/63132720
复制相似问题