请帮助我!我已经超越了这一点,并且认为我已经完全离开了某个地方。
我获得了一个csv文件供使用并从中推断数据。有相当多的国家列表,其相应的GDP,失业率等等。我的意思是1.提供列表中GDP最高的国家,以及2.确定该国的失业率是否低于平均水平。我能够通过数据定义确定(我认为)但是当我试图找到给定列表中的平均失业率时,我遇到了问题(我使用命名元组按失业率和国家来组织列表名称)。
def highest_gdp(logdp:List[CountryGDP])-> str:
"""
returns the name of the country with the highest GDP
"""
#Return "" #body of the stub
#template from List[CountryGDP]
highest = logdp[0] #type: CountryGDP
for gdp in logdp:
if gdp.cgdp >= highest.cgdp:
highest = gdp
return highest.name
def average_unemployment(louemp:List[Unemployment])-> float:
"""
returns the average unemployment rate of the given list
"""
#return 0 #body of the stub
#template from List[Unemployment]
average = louemp[0] #type: Unemployment
for uemp in louemp:
if uemp.rate > 0:
average = uemp
return sum(uemp.rate)/float(len(louemp))
我认为第一部分是正确的。我跑的时候没有发现任何错误,但我似乎无法找出第二个能够恢复平均失业率的错误!无论我尝试什么,我都会收到各种错误信息!我知道这是超级基础,但请帮助!!!
答案 0 :(得分:0)
我认为您需要将return
语句置于for
循环之外。对于这两种情况。我没有检查逻辑。
def highest_gdp(logdp:List[CountryGDP])-> str:
"""
returns the name of the country with the highest GDP
"""
#Return "" #body of the stub
#template from List[CountryGDP]
highest = logdp[0] #type: CountryGDP
for gdp in logdp:
if gdp.cgdp >= highest.cgdp:
highest = gdp
return highest.name
def average_unemployment(louemp:List[Unemployment])-> float:
"""
returns the average unemployment rate of the given list
"""
#return 0 #body of the stub
#template from List[Unemployment]
average = louemp[0] #type: Unemployment
for uemp in louemp:
if uemp.rate > 0:
average = uemp
return sum(uemp.rate)/float(len(louemp))