更改查找总体函数

2024-06-07 17:33:01 发布

您现在位置:Python中文网/ 问答频道 /正文

这个程序返回一个给定州的人口,但我试图改变它,这样我就可以得到文件中所有州的平均数,但我不知道我应该怎么做。如果有人能解释如何得到返回所有州人口的函数,我可以从那里得到它。你知道吗

 def findpop(state):
   s= state.capitalize()
   file =  open(getMediaPath("population_state_reduced (2).csv"),"rt")
   lines = file.readlines()
   file.close()
   for line in lines:
     parts = line.split(",")
     if parts[4] == s:
       return int(parts[5])
   return -1

Tags: 文件函数程序returndeflineopenfile
1条回答
网友
1楼 · 发布于 2024-06-07 17:33:01

你需要先收集所有州的人口。人口处于第5位。现在您的函数只是返回它,它匹配状态(即位置4)。你知道吗

因此,您可以返回人口的总和,或者只是所有州及其人口的列表。你知道吗

下面是如何返回元组列表及其状态和填充:

def findpop(state=None):
  with open(getMediaPath("population_state_reduced (2).csv"),"rt") as f:
       if state is None:
          return [(parts[4], int(parts[5]) for parts in line.split(',') for line in f]
       else:
         for line in f:
             parts = line.split(',')
             if parts[4] == state.capitalize():
                  return int(parts[5])

现在,当您在没有状态的情况下调用此函数时,它将返回所有状态及其总体的列表。你知道吗

如果用特定的状态调用它,它将只返回该状态的人口。你知道吗

相关问题 更多 >

    热门问题