我是Python的新手,将它作为工作培训的一部分进行学习,但是以一些HTML和C/C++开始。任何关于如何让这部分工作的建议都会很棒!返回错误值
def compute(tank_data): #in the parenthesis are the variables you want to pass from one def to another
aggregates = {}
list = []
for tank in tank_data: #
sum = 0
max_value = 0
min_value = 1000
#standdev = 0
for reading in tank_data[tank]:
sum = sum + float(reading)
'''max_value = round(max(float(reading)),2)
min_value = round(min(float(reading)),2)'''
if reading >= max_value:
max_value = float(reading)
else:
max_value = max_value
if reading <= min_value:
min_value = float(reading)
else:
min_value = min_value
#standdev
if tank in aggregates:
aggregates[tank]['avg'] = round(sum/len(tank_data[tank]),2) #computing and printing average simutaneously
aggregates[tank]['max'] = round(max_value,2)
aggregates[tank]['min'] = round(min_value,2)
#aggregates[tank]['STDEV'] = round()
else:
aggregates[tank] = {}
aggregates[tank]['avg'] = round(sum/len(tank_data[tank]),2)
aggregates[tank]['max'] = round(max_value,2)
aggregates[tank]['min'] = round(min_value,2)
#aggregates[tank]['STDEV'] = round()
print aggregates
我得到正确的平均值为我的文件(选中它擅长),但只有我的前三个最高值是正确的(满分,我经过这里跑6),所有的最小值回报“ 1000' 。
当我使用注释掉部分:
'''max_value = round(max(float(reading)),2)
min_value = round(min(float(reading)),2)'''
我得到的错误“浮动”对象不是可迭代。
任何帮助将不胜感激。 :)
你怎么能得到一个单一的浮动的最大? –
只有无效的括号,修改说明,你会得到答案。 – ZdaR
谢谢!我能够在你们的帮助下和人们给出的答案中摆脱一个错误,但是错误的价值观带来了另一种错误。 – TobyTobyo