我正在编写我的第一个课堂程序 - 它有四个功能,其中一个main()
。
第一个函数提示用户输入文件名并打开该文件。main()
然后提示用户输入该文件中的列,以便它知道要使用哪些数据。
第二个函数生成一个元组列表-每个元组从该列中提取一行及其对应的日期(即文件中的第 0 列。第三个函数应该查看函数二的元组列表中的元组中的日期和平均每个月的数据(每个月有多个元组)。这是我遇到错误的地方:TypeError: 'float' object is not subscriptable
这是我的第三个功能:
def average_data(list_of_tuples):
month_int = 2
values_to_average_int = 0.0
data_avg_int = 0.0
average_divisor_int = 1
list_of_month_average_tuples = []
val = 0
for val in list_of_tuples:
#month_val = int(val[0][5:7])
if val[0][5:7] == month_int:
#if month_val == month_int:
values_to_average_int += val[1]
average_divisor_int += 1
print(values_to_average_int)
else:
data_avg_float = float(values_to_average_int / average_divisor_int)
month_yr_date_str = val[0][5:7] + '-' + val[0][:4]
month_average_tuple = (data_avg_int, month_yr_date_str)
list_of_month_average_tuples.append(month_average_tuple)
#list_of_month_average_tuples(data_avg_int, month_yr_date_str)
month_int -= 1
if month_int == 0:
month_int = 12
print(list_of_month_average_tuples)
return list_of_month_average_tuples
如何更正TypeError
当前遇到的异常?