Python 平均年变化?

Python 平均年变化?,python,Python,我正在制定一项计划,在1950年至1990年期间为美国吸引年中人口。第一条线是50人,下一条线是51人,依此类推。程序提取信息,然后显示人口增长最大、人口增长最小的年份,以及日期范围内人口的平均年变化 我可以做前两个,但是平均年变化没有正确显示。有人给了我一个暗示,很明显我30岁时少了一行。平均年变化一直显示为零?:( 这只是一个基本的.txt文件,第一行是1950年各州的人口,第二行是1951年的人口,依此类推。您可以这样做: total_change = float(sum(yearly_c

我正在制定一项计划,在1950年至1990年期间为美国吸引年中人口。第一条线是50人,下一条线是51人,依此类推。程序提取信息,然后显示人口增长最大、人口增长最小的年份,以及日期范围内人口的平均年变化

我可以做前两个,但是平均年变化没有正确显示。有人给了我一个暗示,很明显我30岁时少了一行。平均年变化一直显示为零?:(

这只是一个基本的.txt文件,第一行是1950年各州的人口,第二行是1951年的人口,依此类推。

您可以这样做:

total_change = float(sum(yearly_change))
average_change = total_change/40
但是您将
yearly\u change
设置为空列表,如下所示:

yearly_change = []

然后永远不要更改它。因此,您正在尝试计算一个空列表的总数,然后尝试计算其平均值,因此它显然将为零。您的程序应该以某种方式更新
年度更改,或者您应该计算其他一些列表的总和。

您需要在co中添加这一行de要更新
年度\u变化
字段:

    for i in range(1,len(yearly_population)):
        change = yearly_population[i] - yearly_population[i-1]
        yearly_change.append(change)  #new line

这应该存储字段中的每个更改,这样当您尝试计算平均值时,列表将不再为空。

如果它是一个大文件,您可以使用它

for i in xrange(1, len(yearly_population)):
    change = yearly_population[i] - yearly_population[i-1]
    yearly_change.append(change) 

哦,我应该注意到我没有更新。谢谢。谢谢你的帮助!
    for i in range(1,len(yearly_population)):
        change = yearly_population[i] - yearly_population[i-1]
        yearly_change.append(change)  #new line
for i in xrange(1, len(yearly_population)):
    change = yearly_population[i] - yearly_population[i-1]
    yearly_change.append(change)