8行代码预测中国人口

现在关于中国人口增长的问题火热的很,我们不妨来预测预测,顺便拿刚学的Python练练手

我们首先看一下2010年人口普查的结果,网址如下:http://www.docin.com/p-710316652.html

2010年人口年龄结构如下:

0-4岁:0.69亿

5-9岁:0.7亿

10-14岁:0.83亿

15-19岁:1.1亿

20-24岁:1.25亿

25-29岁:1.1亿

30-34岁:0.94亿

35-39岁:1.26亿

40-44岁:1.16亿

45-49岁:0.81亿

50-54岁:0.8亿

55-59岁:0.82亿

60-64岁:0.78亿

65-69岁:0.65亿

70-74岁:0.44亿

75岁以上:0.1亿

 

为了计算人口增长,我们把这个模型简化一下:

我们假设大家都在25-29岁生育,平均一对夫妇生育1.5个子女,也就是每个人生育0.75个子女。那代码如下:

people=[6900.0,9100.0,10790.0,1430.0,12220.0,16380.0,15080.0,10530.0,10400.0,10660.0,10140.0,8450.0,5720.0,1300.0]
i=2010
while sum(people)>1:
    i=i+5
    for x in [13,12,11,10,9,8,7,6,5,4,3,2,1]:
        people[x]=people[x-1]
        people[0]=people[6]/2*0.75
    print i,":",sum(people)

结果如下:

2015 : 133185.0
2020 : 130487.5
2025 : 118527.5
2030 : 115943.75
2035 : 108062.5
2040 : 98856.875
2045 : 89460.3125
2050 : 73064.0625
2055 : 59517.65625
2060 : 48339.6875
2065 : 47357.578125
2070 : 36992.6171875
2075 : 27399.0234375
2080 : 22319.1210938
2085 : 18127.3828125
2090 : 17759.0917969
2095 : 13872.2314453
2100 : 10274.6337891
2105 : 8369.67041016
2110 : 6797.76855469
2115 : 6659.65942383
2120 : 5202.08679199
2125 : 3852.9876709
2130 : 3138.62640381
2135 : 2549.16320801
2140 : 2497.37228394
2145 : 1950.782547
2150 : 1444.87037659
2155 : 1176.98490143
2160 : 955.936203003
2165 : 936.514606476
2170 : 731.543455124
2175 : 541.82639122
2180 : 441.369338036
2185 : 358.476076126
2190 : 351.192977428
2195 : 274.328795671
2200 : 203.184896708
2205 : 165.513501763
2210 : 134.428528547
2215 : 131.697366536
2220 : 102.873298377
2225 : 76.1943362653
2230 : 62.0675631613
2235 : 50.4106982052
2240 : 49.3865124509
2245 : 38.5774868913
2250 : 28.5728760995
2255 : 23.2753361855
2260 : 18.904011827
2265 : 18.5199421691
2270 : 14.4665575842
2275 : 10.7148285373
2280 : 8.72825106955
2285 : 7.08900443511
2290 : 6.9449783134
2295 : 5.42495909409
2300 : 4.01806070149
2305 : 3.27309415108
2310 : 2.65837666317
2315 : 2.60436686753
2320 : 2.03435966028
2325 : 1.50677276306
2330 : 1.22741030666
2335 : 0.996891248687

你可能感兴趣的:(8行代码预测中国人口)