欧洲杯这几天打得火热,作为一个伪球迷,也想凑凑热闹,所以就想着自己能不能搞个简单的积分榜出来,方便自己解情况,也分享给大家伙。
第一步:收集数据。
这肯定是最基础的,没数据啥都白搭。我直接去一些体育网站上扒拉数据,像什么球队名称、比赛场次、胜负平情况、进球数、失球数、净胜球、积分这些,都得搞清楚。一开始还想自己手动整理,后来发现比赛太多,手动太累,就想着能不能用爬虫啥的搞一下,但是想想自己那点爬虫技术,还是算,手动,虽然慢点,但是靠谱。
第二步:数据整理和存储。
收集来的数据乱糟糟的,得好好整理一下。我用Excel表格建几个sheet,每个sheet对应一个小组,然后把数据填进去。队伍名字、已赛场次、胜、平、负、进球、失球、净胜球、积分,每个字段都安排的明明白白的。存的时候直接保存成CSV格式,方便后面读取。
第三步:设计积分榜的样式。
数据有,接下来就是怎么把积分榜展示出来。我先在纸上画个草图,确定哪些信息要显示,怎么排列。主要就是队伍的排名、队名、已赛场次、胜负平、进球失球、积分这些。想着要简单明,一眼就能看懂。
第四步:代码实现。
这步是重点,也是我最头疼的地方。我用Python写个小程序,主要步骤是:
- 导入CSV模块,读取之前保存的CSV文件。
- 然后,定义一个函数,用来计算积分,胜一场3分,平一场1分,输没分。
- 读取每个小组的数据,根据积分排序,积分相同的比较净胜球,净胜球再相同就看进球数。
- 把排序后的结果打印出来,加上一些简单的格式,让它看起来更像个积分榜。
代码写起来磕磕绊绊的,各种小bug不断,什么编码问题、数据类型问题、索引错误,简直是噩梦。不过还一点一点debug,总算是跑起来。
第五步:测试和优化。
程序跑起来之后,我用一些已知的比赛结果测试一下,发现还是有些小问题,比如排序不太对,积分计算有误。然后又回去改代码,调整排序规则,修正积分计算公式。反反复复测试几遍,才算是基本没问题。
第六步:最终效果。
我把程序跑出来的结果整理一下,做成一个简单的表格,看起来还不错。虽然界面简陋点,但是数据准确,信息完整,也算是达到我的目的。
这整个过程下来,感觉还是挺有意思的。虽然中间遇到不少问题,但是解决问题的过程也让我学到很多东西。下次有时间,我还想尝试用更高级的技术,比如用网页展示,或者加入一些动态效果,让积分榜更炫酷一些。
说一句,大家看球图个乐呵,别太认真,哈哈!
还没有评论,来说两句吧...