爲什麼這會返回國家代碼?爲什麼當我不放入else語句時這段代碼返回None,但是當我放入else語句時它不會返回None?
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語句也不返回代碼。有人可以向我解釋這個嗎?我是編程新手。
確實。但是,如果我使用else語句並將其放在for代碼中,它仍會返回None。你能向我解釋一下爲什麼? – Katrina
剛剛編輯了更詳細的答案,但你必須得到縮進的東西 - 像這樣的實驗 - 才能完全理解它。 – TomServo