Python 3.x 类型错误:';int';对象在计算平均值时不可计算
我试图从文件中读取不同的值,并将它们存储在列表中。在那之后,我需要取他们的平均值,这样我就得到了上面的错误。代码正在运行到第行Python 3.x 类型错误:';int';对象在计算平均值时不可计算,python-3.x,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
"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
这行不正确:
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
另一种修复方法是保持逗号不变,并将右侧更改为一个与左侧元素数相同的列表或零元组。但这不太清楚,也更难维护。在这里,我还必须跳过列表的第一个元素,因为列表的第一个元素是字符串,其余元素是整数。那么,max_temp、Min_temp和Avg_湿度是整数吗?如果是,则在for循环中删除len函数no Max_temp、Min_temp和Avg_湿度是3个不同的列表您可以编辑问题的完整回溯吗?