16-5 涵盖所有国家 :本节制作人口地图时,对于大约12个国家,程序不能自动确定其两个字母的国别码。请找出这些国家,在字典COUNTRIES 中找到它们的国别
码;然后,对于每个这样的国家,都在get_country_code() 中添加一个if-elif 代码块,以返回其国别码:
if country_name == 'Yemen, Rep.'
return 'ye'
elif
--snip--
将这些代码放在遍历COUNTRIES 的循环和语句return None 之间。完成这样的修改后,你看到的地图将更完整。
解答方式:
应该把
country_code.py
from pygal_maps_world.i18n import COUNTRIES
def get_country_code(country_name):
for code,name in COUNTRIES.items():
if name == country_name:
return code
return None
print(get_country_code('Andorra'))
print(get_country_code('United Arab Emirates'))
print(get_country_code('Afghanistan'))
改为
from pygal_maps_world.i18n import COUNTRIES
def get_country_code(country_name):
for code,name in COUNTRIES.items():
if name == 'Yemen':#Yemen, Rep.无法使用,修改为Yemen
return 'ye'
elif name == country_name:
return code
return None
print(get_country_code('Andorra'))
print(get_country_code('United Arab Emirates'))
print(get_country_code('Afghanistan'))
```