【发布时间】:2012-08-14 08:59:48
【问题描述】:
这让我很生气 :) 我正在尝试根据月份从列表中求和值,我尝试了一些事情,但非常需要指导。
我正在尝试: 第 1 - 12 个月。
从列表 (EC_PlanData) 中迭代读取 PlanWeek(4) 值,然后求和
然后根据求和值计算平滑平均值。
这是我的代码:
G_counter = 1
j = i
m = 1
Plantotal = 0
PlanMonth = 0
DFD = []
EC_PlanData = [500,500.... etc] # 52 values
PlanWeek = range(j,j+3)
Month = range(m,13,1)
## Define Variables
ym, xh, xm, N1, Z1, N2, Z2 = 0,0,0,0,0,0,0
for month in Month: # for each month 1 - 13
for i,e in enumerate(list_1): # read through list
PlanMonth = PlanMonth + i+3 # sum 4 weekly values
DFD.append(PlanMonth) # append sum value to DFD list
if i == 1: # if G_counter = 1, which it always is
IFX.append(PlanMonth) # also append to IFX list
Plantotal= Plantotal+PlanMonth # calculations here on are
for i,e in enumerate(DFD): # evaluated after appending above
y = e
ym = Plantotal / m # These are calculating a smoothing average
xh = xh + m
xm = xh / m
N1 = (m-xm) * (y-ym)
Z1 = (m-xm) * (m-xm)
N2 = N2 + N1
Z2 = Z2 + Z1
if Z2 == 0: # Decision on FC value
FC = 0 # This or
else:
FC = ym -(N2/Z2)*xm + (N2/Z2)*(m+1) # This
J +=4 # Advances on 4 time periods
M +=1 # Advances on 1 Month
PlanMonth = 0 # Resets PlanMonth variable
【问题讨论】:
-
PlanMonth 最初来自哪里?我希望你没有真的在那个列表中写了 500 52 次, list_2 和 list_3 在哪里?究竟是什么问题?计划周有什么用?
-
不清楚您要达到的目标。建议用伪代码描述问题
-
你能指定你的任务吗?您是否只需要对给定月份的第三个列表元素求和?
-
第 1 个月的 PlanMonth 是从 1 到 4 的值的总和。第 2 个月的 PlanMonth 是从 5 到 8 等值的总和因此
list2和list3变成 13 个相加值。i hope you didnt really write 500 52 times in that list.. 不,这是自动生成的,但出于验证目的,我将数字固定为 500。 -
@manangstudent 请通过单击edit 链接更新您的答案,并重新编写它以使其更清晰并回答 cmets 中的问题。还要确保示例代码可以作为独立脚本运行而不会引发异常。
标签: python loops if-statement