VIM 的作者Bram Moolenaar在一篇叫高效文本编辑器的7个习惯的ppt中有这么一段话. Three basic steps 1. Detect inefficiency 2. Find a quicker way 3. Make it a habit 即 1.检测哪里效率低下 2.找到一种更快的方法 3.养成习惯 这3个步骤可谓是大道至简.放之四海而皆准. 不止适用于vim,一样适用于python以及其他语言,也适用于现实生活. 这简单的道理很多人都懂,但是却有…
最近德甲英超西甲各大联赛重燃战火,想起之前写过的一段生成赛程表的代码,用python来写这类东西太舒服了. 这个算法叫做蛇环算法. 即,把所有球队排成一个环形(2列),左边对阵右边,第一支队伍不动,其他队伍顺时针循环,这样就肯定不重复了. 为了方便说明,假设有8支球队a到h.像下面那样按环形排好. a h | | b g | | c f | | d-e 这样,第1轮的对阵就是,(a,h)(b,g)(c,f)(d,e). 下一轮的时候,第一支球队a不动,其它球队像齿轮一样顺时针走一格…