TypeError:计算均值时'int'对象不可迭代

时间:2018-09-13 06:46:44

标签: python-3.x

我正在尝试从文件中读取不同的值,并将它们存储在列表中。在那之后,我需要尽力而为,这样我就会收到上面的错误。代码工作到第

"Avg_Humidity.append(words[8])"

这里是:

def monthly_report(path,year,month):
    pre_script="Murree_weather"
    format='.txt'
    file_name = pre_script + year + month+format
    name_path=os.path.join(path,file_name)
    file = open(name_path, 'r')
    data = file.readlines()
    Max_Temp = []
    Min_Temp = []
    Avg_Humidity = []
    for line in data:
        words = line.split(",")
        Max_Temp.append(words[1])
        Min_Temp.append(words[3])
        Avg_Humidity.append(words[8])
    Count_H, Count_Max_Temp, Count_Min_Temp, Mean_Max_Temp, Mean_Min_Temp, 
    Mean_Avg_Humidity=0
    for iterate in range(1,len(Max_Temp)):
        Mean_Max_Temp= Mean_Max_Temp+Max_Temp(iterate)
        Count_Max_Temp=Count_Max_Temp+1
    Mean_Max_Temp=Mean_Max_Temp/Count_Max_Temp
    for iterate in range(1,len(Min_Temp)):
        Mean_Min_Temp= Mean_Min_Temp+Min_Temp(iterate)
        Count_Min_Temp=Count_Min_Temp+1
    Mean_Min_Temp=Mean_Min_Temp/Count_Min_Temp
    for iterate in range(1,len(Avg_Humidity)):
        Mean_Avg_Humidity= Mean_Avg_Humidity+Avg_Humidity(iterate)
        Count_H=Count_H+1
        Mean_Avg_Humidity=Mean_Avg_Humidity/Count_H
    print("Mean Average Humidity = ",Mean_Avg_Humidity)
    print("Mean Maximum Temperature = ",Mean_Max_Temp)
    print("Mean Minimum Temperature = ",Mean_Min_Temp)
    return      

1 个答案:

答案 0 :(得分:0)

此行不正确:

    Count_H, Count_Max_Temp, Count_Min_Temp, Mean_Max_Temp, Mean_Min_Temp, Mean_Avg_Humidity = 0

要修复,请将其更改为:

    Count_H = Count_Max_Temp = Count_Min_Temp = Mean_Max_Temp = Mean_Min_Temp = Mean_Avg_Humidity = 0

另一种解决方法是保留逗号不变,并将右侧更改为具有与左侧相同数量元素的零列表或元组。但这并不太清楚,而且很难维护。