为什么返回国家/地区代码?
from pygal.maps.world import COUNTRIES
def get_country_code(country_name):
"""Return the Pygal 2-digit country code for the given country."""
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')
为什么不返回国家/地区代码?
from pygal.maps.world import COUNTRIES
def get_country_code(country_name):
"""Return the Pygal 2-digit country code for the given country."""
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')
主要区别在于我如何缩进'返回无。'即使我把else语句也没有返回代码。有人可以向我解释一下吗?我是编程新手。
答案 0 :(得分:0)
缩进 差异 - 仔细检查缩进。在第二个示例中,return none
位于for code
循环中。因此,只要`name == country_name'失败一次,它就会返回None。
Python缩进的作用类似于基于C语言的大括号或BASIC方言中的Begin-End。这是Python的主要特质。
答案 1 :(得分:0)
好的JLH是正确的。在第二组代码中:由于else在for循环中,列表中的第一个名称将触发else代码(除非您正在寻找列表中的第一个1),否则将返回no。因此,除非第一个元素是您正在寻找的元素,否则它将始终返回None。