我是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
我正在为文档获取正确的平均值(将其检查为excel),但是只有我的前三个最大值是正确的(我在此处运行的6个最大值中),并且所有最小值均返回“ 1000”。
当我使用注释掉的部分时:
'''max_value = round(max(float(reading)),2)
min_value = round(min(float(reading)),2)'''
我得到的错误是'float'对象不是可迭代的。
任何帮助将不胜感激。:)
使用python的内置函数:
def compute(tank_data):
aggregates = {}
list = []
for tank, data in tank_data.iteritems():
numbers = [float(v) for v in data]
total = sum(numbers)
max_value = max(numbers)
min_value = min(numbers)
info = {
'avg': round(total/len(numbers),2)
'max': round(max_value,2),
'min': round(min_value,2),
}
aggregates.set_default(tank, {}).update(info)
print aggregates
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句