我要做的是读一个CSV文件,其中有一个幻想足球队正在使用的统计数据。文件如下所示:
Name Team G QBRat Comp Att Pct Pass Yds Pass YG Yds Att TD Int
Matt Flynn GNB 5 124.8 33 49 67.3 518 103.6 10.6 6 2
Aaron Rodgers GNB 15 122.5 343 502 68.3 4643 309.5 9.2 45 6
Tyrod Taylor BAL 3 118.8 1 1 100 18 6 18 0 0
Brian Hoyer NWE 3 118.8 1 1 100 22 7.3 22 0 0
Drew Brees NOR 16 110.6 468 657 71.2 5476 342.3 8.3 46 14
... etc.
我做这件事的时间有限,我需要它很简单——这意味着我不能使用csv
模块,也不能使用一堆高级命令来执行它(我的意思是我可以,但是如果我不能理解它,我就不想使用它)。在
我要做的是:
从文件中读取统计信息。基本上有6个不同的CSV文件,因为我必须计算并返回基于四分卫、跑垒手、边路接球手、罚球手和球队整体防守的统计数据列表。现在我只想以四分卫为例。
从这个CSV文件创建一个点系统。我必须查看每个球员的名字,根据他们的统计数据加减一定数量的积分:
每通过TD 4分(TD-Rush TD)
每个冲刺TD得6分(Rush TD)
每25码传球1分(传球Yds)
完成率超过60%,得10分。
如果完成率超过70%(Pct),则奖励20分
-每袋(袋)2个
-6次失手(FumL)
根据点数返回(或打印,无论怎样)前20名,如下所示:
Name________________________Team__________________Points
====________________________====__________________======
player name_____________ their team______________how many points they have
我迷路了,我真的需要一些帮助,感谢所有能提供一些见解的人:)
我在这里:
def qtrBacks():
qb = open('NFL2011QB.csv', 'r')
points = 0
for Name in qb:
print('Top Quarterbacks')
print()
print('Name\t\t Team\t Points')
print('====\t\t ====\t ======')
我建议把工作分成几个功能。这可以帮助您将作品组织成可以单独调整或修改的单独部分。在
首先,我建议处理文件解析。这一点很重要,因为它是我们确定保存玩家数据的数据结构的地方。我认为将每个玩家的统计数据保存在字典中是有意义的,从每个属性名(比如“TD”)映射到值。这里有一个函数,它使用列表理解来构建这样的字典的列表,每个播放器一个,从文件头获取stat名称。如果文件的每个列的标题都不正确,则可能无法正常工作。在
上面的代码相当于您可以使用
^{pr2}$csv
模块执行的操作,尽管它可能无法处理稍微混乱的文件。以下是使用csv.DictReader
的替代版本:这两个实现(希望)独立于文件的细节,因此您可以将它们用于每个CSV文件,即使它们有不同的统计信息。在
接下来要编码的是评分函数。我不完全确定如何对您列出的规则执行此操作,因为您的示例数据中只有一列
^{3}$TD
列(没有单独的运行TD值),没有用于sacks或fulls的列。在现在,我们可以将零件组合在一起,并返回最佳评分QB:
您可以使用以下内容打印输出:
相关问题 更多 >
编程相关推荐