车厢调配问题 与 “谁在用”代码发芽网页面
目标 :我想在 “谁在用”代码发芽网 页面采用表格布局,每行三个链接(也就是html里面的三个td)
问题 :代码发芽网基于Django,其模板系统的语法很弱,不支持对循环因子的操作操作不容易实现
首先想到的解决方案 : 考虑到有cycle,就这么做:
{% for w in wum %}
{% cycle '<tr>' '' '' %}
<td>
<span style= "font-size:large" ><a href= " {{ w.website }} " > {{ w.title }} </a></span><small>
<a href= " {{ w.blog_url }} " > :)</a></small>
</td>
{% cycle '' '' '</tr>' %}
{% endfor %}
</table>
紧跟着发现,这样做是有问题的 :当链接数不是正好三个的时候就会出现”tr”标签开始和结束不是匹配的
真是个烦人的问题,虽然在Django的View里面很好解决,我却不想这么做。
无意之间想到了前几天看过的文章,那是Dijkstra大师关于火车调配实践 的一段描述:
一个寓言
多年以前有一个铁路公司,它的一位领导(可能就是商务方面的头儿)有了这样一个
发现,如果只给百分之五十的车厢配备厕所的话,原始投资将会大大地减少。于是,
他们决定就这么做了。公司执行这项措施之后不久,关于厕所的抱怨就接踵而至。经调查发现,实际情况是
尽管这家公司还很年轻,但它已经存在严重的内部沟通问题,因为上头关于厕所的决
定并没有传达给调度室,所有的车厢都得到了同等的对待,于是有时候一列车中几乎
没有一个厕所。为了解决这个问题,给每个车厢都加上了一些信息,用于区别这个车厢上是否有厕所,
调度室则需要在列车编组的时候尽量保证两种车厢的数量是相等的。这对调度来说无
疑是个麻烦事,不过问题解决之后,负责调度过程的人们都为此而非常得意。新的调度过程实施之后,关于厕所的抱怨却依然没有平息。新的调查发现,尽管在一
列车中确实有一半的车厢有厕所,但有时候却把所有的厕所都编组在了列车的一头。
为了对此加以补救,上头又有了新的措施,规定带厕所的车厢和不带厕所的车厢应该
交替编组。这个方法的复杂度对于调度人员来说实在是太恐怖了,不过在最初的一番
唧唧崴崴之后,他们最终还是搞定了。然而,抱怨仍在继续。调查出来的原因是,对于那些有厕所的车厢来说,厕所都位于
车厢的一头,列车中两个相邻厕所的距离仍然可能会有三个车厢的长度。对于那些有
紧急需要的抱小孩儿的妈咪们——尤其是过道上充塞着行李箱的时候——就会导致灾
难性的后果。结果是,给那些带厕所的车厢又加上了一点信息,将它们变成了带方向
的物体,新的规定是,在每个列车中,所有带厕所的车厢都必须是同向的。这一次,
调度人员收到新的指示的时候就差没疯掉了,因为调车转台的数目刚刚够用,如果要
完全公正地说的话,我们必须得承认,按照任何合情合理的标准,调车转台的数目是
不够用的,调度人员必须发挥极大的创造力才能勉强搞定。等到所有的厕所都均匀地分布在列车中之后,公司有理由确信所有的事情都OK了,不
过乘客们依然在抱怨:尽管没有乘客离最近的厕所会超过一节车厢,乘客们(尤其是
有紧急需要的)不知道该向过道的那个方向开始他们的冲刺!为了解决这个问题,
写有“TOILET”的箭头被固定在了过道上。这就让另一半的车厢也变成了带方向的物
体,调度过程也必须对它们的方向进行正确地排列。收到新的指令之后,调度室里充斥着绝望和反抗的情绪:这是不可能的!在这个关键
时刻,有个人站了出来,他的名字已经被遗忘了,而且也无从查证,他做出了以下的
分析。当每节带厕所的车厢都在它的有厕所的一头和另一节没有厕所的车厢配好对之
后,调度室根本无需再为N个两种类型的带方向的车厢而烦恼了,因为他们面对的将
是N/2个同样的单元 ,不管从哪个方面说,这些单元都可以被认为是对称的。这个分析
搞定了所有的调度问题,不过稍微有点代价,首先是每次只能向列车上加挂偶数个
的车厢——由此而增加的少量车厢可以从商务头目最初省下的那笔钱里面报销!——
其次,假定所有厕所的尺寸都是相同的。不过,谁会在乎那最后的三英尺呢?尽管在发生这个故事的时候人类还没有计算机,但发现解决方案的那位匿名人物可以
当之无愧地被视为全世界第一个合格的程序员。
呵呵,然后呢,我就想,把<tr>和</tr>强制扭到一起不就行了?
所以得到了现在用的方案 :
{% for w in wum %}
{% cycle '</tr><tr>' '' '' %}
<td>
<span style= "font-size:large" ><a href= " {{ w.website }} " > {{ w.title }} </a></span><small>
<a href= " {{ w.blog_url }} " > :)</a></small>
</td>
{% endfor %}
</tr></table>
</center>
–
代码发芽网: http://www.fayaa.com/code/ (无需插件在blog上贴语法高亮的代码,百种语言,多种配色)
车厢调配问题 与 “谁在用”代码发芽网页面相关推荐
- 代码发芽网(Beta版)发布,欢迎测试、试用
代码发芽网(Beta版)发布,欢迎测试.试用 作者:半瓶墨水 链接:http://www.2maomao.com/blog/code-fayaa-beta/ 发芽网主页:http://www.faya ...
- 代码发芽网更新 - 界面清晰、支持论坛(Discuz!)、一键复制HTML/BBcode
接上篇:代码发芽网 - 代码高亮 - 添加了22个流行的vim配色主题 继续增强内功. 代码发芽网 ( http://www.fayaa.com/code/ )简介: 1. 无需插件支持blog代码高 ...
- 代码发芽网 代码高亮核心模块(Pygments)升级到最新版(1.0 dev 20080727)
最近收到反馈说代码发芽网 不支持Fortran.Python3000和汇编. 今天从天津赶回来,发现Pygments 已经更新到了1.0版,1.1版也在开发之中. 看了一下最新的更新内容,决定把代码发 ...
- 代码发芽网更新了22个颜色主题
许多朋友说代码发芽网 需要增强内功,呵呵,这两天在搞颜色主题. 对于没有什么颜色美感的人来说,用现成比自己从头做要好. 因为我最喜欢用vim,所以首先想到的就是流行的vim主题. 先从vim的网站上搞 ...
- Blog代码高亮无需插件 - 代码发芽网
(呵呵完美支持iteye.com的博客,真开心) 写博客时,没有代码高亮? 代码发芽网 ( http://www.fayaa.com/code/ ): 无需插件支持Blog代码高亮 支持近百种编程语言 ...
- 代码发芽网:无需插件支持Blog代码高亮,支持近百种编程语言
写博客时,没有代码高亮? 发邮件时,代码格式很乱? 有好代码,保存后很难找? 代码发芽网: 无需插件支持Blog代码高亮 支持近百种编程语言 多种配色主 ...
- 代码发芽网更新 - 多种代码高亮主题、支持CSDN Blog
接上篇: 代码发芽网 - 代码 高亮 - 添加了22个流行的vim配色主题 继续增强内功. 代码发芽网( http://www.fayaa.com/code/ )简介: 1. 无需插件支持blog代 ...
- 介绍一种方法,无需插件支持blog代码高亮,代码发芽网
(注意在csdn blog里面发文时选择"高级模式") 写博客时,没有代码高亮? 发邮件时,代码格式很乱? 有好代码,保存后很难找? 代码发芽网( http://www.fayaa ...
- 代码发芽网更新了22个颜色主题zz
许多朋友说代码发芽网 需要增强内功,呵呵,这两天在搞颜色主题. 对于没有什么颜色美感的人来说,用现成比自己从头做要好. 因为我最喜欢用vim,所以首先想到的就是流行的vim主题. 先从vim的网站上搞 ...
最新文章
- springboot整合shiro使用shiro-spring-boot-web-starter
- [不定期更新]需要记住的结论
- java求最优解库,IPOPT在第二次求解时找到最优解
- QuickStart系列:docker部署之Gitlab本地代码仓库
- JSON_dump和load
- springmvc接收参数
- 51Nod-1640-天气晴朗的魔法(最小生成树)
- 软考高项3门45分总结及分享
- MCSA / Windows Server 2016各版本的功能及比较,安装需求及选项
- 推荐几个很实用的编程网站
- texture packer 处理图片空白的问题
- Office-页码全为0的原因及解决方法
- oppoa9处理器怎么样_OPPOA9处理器是骁龙几?
- cad调了比例因子没反应_大神们都在用的9个CAD制图技巧,你会用几个?
- 【CTF】java反序列-2020-网鼎杯-朱雀组-Web-think_java
- 删除下拉框只找23火星软件_下拉词删除就找23火星
- signature=95eea087473d092a96a2e8a1766b9911,黑马旅游网初始项目文件!WEB阶段
- Druid报错c.a.druid.pool.DruidAbstractDataSource : discard long time none received connection.
- 分析Flex布局空间分配, flex-grow、flex-shrink,flex-basis
- 英语----倒装句(下):部分倒装