【发布时间】:2021-07-29 19:44:40
【问题描述】:
我最近因为工作刚开始学习 python,我在代码中遇到了 for 循环。我希望我的程序输出每小时产生的氨量的值,这取决于 Excel 中的单元格(附在下面),并且我需要将“NH3 消耗的 H2”和“实际存储的”列作为 Python 中的列表按顺序前进。但是,当我运行这段代码时,进程一直在运行并且不会停止,这让我意识到我在某个地方搞砸了,但我不知道在哪里。
hourly_H2_prod = [hourly_elec*1000/avg_pwr_use for hourly_elec in elec_list]
H2_sum = sum(hourly_H2_prod)
avg_hourly_H2_consumed = avg_hourly_NH3_prod*3/17.31
init_H2_stored = H2_sum/365*Storage_days #highlighted cell in Excel screenshot
actual_H2_stored = [init_H2_stored]
hourly_H2_consumed = []
for i in range(1,len(hourly_H2_prod)):
for j in range(len(actual_H2_stored)):
hourly_H2_consumed.append(max(min(avg_hourly_H2_consumed,actual_H2_stored[j]),0))
actual_H2_stored.append(max(min(init_H2_stored,actual_H2_stored[j]+hourly_H2_prod[i]-hourly_H2_consumed[j]),0))
我已经设法获得“每小时 H2 生产”列的列表格式
(this is to show how the values are dependent on each other, for actual-H2-stored)
(how values depend for hourly-H2-consumed)
当我需要使用 Excel 公式中所示的前一个变量进行迭代时,我想我搞砸了。我也希望我已经充分解释了一切,感谢您的帮助!
【问题讨论】:
-
请使用复制和粘贴而不是图像 - 请参阅 How to Ask 和 meta.stackoverflow.com/questions/285551/…
-
它不会让我这样做,因为我是一个新用户并且需要有 10 个声望点或其他东西
-
而不是
for i in range(1,len(X))做for ii,value in enumerate(X)它更像pythonic。
标签: python excel list for-loop