

import pandas as pd
cols = ["省份","区号","省会","人口","新生儿童","死亡人口"]
resulut = {}
A = pd.DataFrame({},columns=cols) #列索引
#### 第一问输入的没有写
'''
#每一行数据都是这样的格式:
北京,010,北京,7355291,13013,77298
天津,022,天津,3963604,8562,56568
河北,0311,石家庄,20813492,76893,449874
山西,0351,太原,10654162,29429,192501
# 然后通过 zip 函数把数据修改成以下格式的
for i in range(10):
userInput = input('请按照省份,区号,省会,人口,新生儿童,死亡人口格式输入,正在输入第{}行 :'.format(i+1))
resulut[i] = userInput.split(',')
data = list( zip( resulut.get(0),resulut[1],resulut[2],resulut[3],resulut[4],resulut[5],resulut[6],resulut[7],resulut[8],resulut[9] ) )
A['省份'] = list(data[0])
A['区号'] = list(data[1])
A['省会'] = list(data[2])
A['人口'] = [ int(x) for x in data[3] ]
A['新生儿童'] = [ int(x) for x in data[4] ]
A['死亡人口'] = [ int(x) for x in data[5] ]
'''
A['省份'] = [ "北京","天津","河北","山西","内蒙古","辽宁","吉林","黑龙江","上海","江苏" ]
A['区号'] = [ "010","022","0311","0351","0471","024","0431","0451","021","025" ]
A["省会"] = [ "北京","天津","石家庄","太原","呼和浩特","沈阳","长春","哈尔滨","上海","南京" ]
A["人口"] = [ 7355291,3963604,20813492,10654162,8470472,15334912,9162183,13192935,8893483,25635291 ]
A["新生儿童"] = [ 13013,8562,76893,29429,19928,23607,15528,20931,16310,63515 ]
A["死亡人口"] = [ 77298,56568,449874,192501,115964,281374,135582,193648,114289,489814 ]
### 计算出生率和死亡率
A['出生率'] = round( A['新生儿童']*100/A['人口'] ,2 )
A['死亡率'] = round( A['死亡人口']*100/A['人口'] ,2 )
### 按照出生率从低到高排序,然后写入csv文件汇中
B = A.sort_values(by=['出生率'],ascending=True)
B['出生率'] = B['出生率'].map(lambda x:str(x)+'%')
B['死亡率'] = B['死亡率'].map(lambda x:str(x)+'%')
# print(A)
# print(B)
B.to_csv('birthrate.csv',encoding='utf-8',index=False)