[生存志] 第63节 樊迟司马耕


        樊迟司马耕
        
        “言偃”籍贯江苏苏州常熟,是孔门七十二贤中唯一的南方弟子,被誉为“南方夫子”,并得到了孔子“吾门有偃,吾道其南”的高度评价。孔子觉得门下有了言偃这位优等生,他的学说就可以在南方传播开来。言偃擅长“文学”,参与编写集结《论语》,并在其中占有很大戏份。他与“司马耕”、“卜商”、“曾参”、“樊迟”、“颛孙师”这四位“同期师兄弟”,“公西赤”这位“第三期师兄”,“宰予”、“冉雍”、“冉求”、“颜回”、“子贡”、“有若”这六位“第二期师兄”,“冉耕”、“子路”、“闵子骞”这三位“第一期大师兄”,并称为“孔门十六太保”。师徒年龄由高到低排序是:孔子年纪最大,小7岁是“冉耕”、再小2岁是“子路”、再小6岁是“闵子骞”、再小14岁是“宰予”、“冉雍”、“冉求”三人、再小1岁是“颜回”、再小1岁是“子贡”、再小2岁是“有若”、再小9岁是“公西赤”、再小2岁是“卜商”、再小1岁是“言偃”,再小1岁是“曾参”、“樊迟”两人、再小2岁是“颛孙师”。“十六太保”中,年纪最大的“冉耕”比年纪最小的“颛孙师”要大上41岁。
        
        至于“司马耕”,生卒年份已不可考。他家兄弟五人,他排行老三,二哥“桓魋(Tui2)”是宋景公的“好基友”,十分受宠。“桓魋”及其他三位兄弟掌握着宋景公时期的宋国军事大权,从公元前517年宋景公开始执政起,到公元前489年宋景公二十八年止,“桓家”都是宋国炙手可热的名门望族。司马耕在宋国有自己的“封邑”,但他看不惯自己兄弟们的飞扬跋扈,就离开宋国,拜入孔子门下。
        
        公元前493年,执政42年的“卫灵公”享年47岁后去世,处于“周游列国”进程中的“孔子观光团”离开了卫国,想要进入宋国游玩。宋景公跟孔子同宗同族,知道孔子到来很高兴,准备亲自出城迎接孔子。桓魋害怕孔子师徒来后会取代他的权势与地位,就对宋景公说,『孔丘在鲁,父母之邦,官大司寇,兼摄相事,位极人臣,却辞官出走,可见其野心非小,在卫五年,卫灵公敬而不用,可见卫国看透了他。宋不及卫大,不若鲁强,孔丘师徒不速而自来,狼子野心岂不昭然若揭』。桓魋不经宋景公同意,带着人马扬言要去杀孔子。《史记卷四十七.孔子世家第十七》记载,『孔子去曹適宋,与弟子习礼大树下。宋司马桓魋欲杀孔子,拔其树。孔子去』。孔子被赶出宋国后,宋景公心里十分不痛快。
        
        二哥“桓魋”如此“嫉贤如仇”,司马牛对他十分反感。《论语.颜渊十二》第5章,『司马牛忧曰:“人皆有兄弟,我独亡。”』,司马牛为自己兄弟之间“道不同不为谋”深表遗憾。看到司马牛情绪低落,『子夏曰:“商闻之矣:死生有命,富贵在天。君子敬而无失,与人恭而有礼,四海之内皆兄弟也。君子何患乎无兄弟也?”』,“卜商”安慰了他,表示“孔门”就是他的家,“师兄弟”就是他的“亲兄弟”,犯不着忧愁烦恼。
        
        “嫉贤如仇”的“桓魋”于公元前489年想要谋杀宋景公,计划失败后逃往“曹国”。宋景公命令“桓魋”的大哥,时任“宋国左师”,也就是兵马大元帅的“向巢”率军攻打曹国,把“桓魋”从“曹国”驱逐到了“卫国”。没过多久,老大“向巢”和老四、老五哥仨因为兄弟“桓魋”做出“犯上作乱”的大事,没法继续在宋国混,就一起逃离了“宋国”。 司马牛也交出了自己的“封邑”和玉珪,“宋国桓家”势力自此烟消云散。
        
        司马耕是一位“资深话痨”,性子也急。他问孔子什么是“仁”,孔子告诉他,『其言也讱(Ren4)』,说话慢一点就是“仁”。他问孔子什么是“君子”,孔子告诉他,『内省不疚』,做事慢一点就是“君子”。
        
        “樊迟”与司马耕同期入学,《为政第二》第5章“孟懿子问孝”记载着“樊迟御”,他一向担任孔子的“车夫”一职。樊迟出身贫穷,懂得种田,重农重稼,读书刻苦,还具有勇武精神。鲁哀公十一年的公元前484年齐师伐鲁,冉求率“左师”御敌并任命“樊迟”为“车右”。在鲁军不敢过沟迎战时,他建议冉求带头冲锋。冉求身先士卒,鲁军大获全胜。樊迟问孔子什么是“仁”,孔子告诉他,『先难而后获』,有困难就自己先上,有收获让别人先拿。孔子又告诉他,“仁”就是『居处恭,执事敬,与人忠』,要恭顺、敬业、忠诚。问孔子什么是“智”,孔子告诉他,『务民之义,敬鬼神而远之』,做事脚踏实地,杜绝虚无缥缈。问孔子怎样『崇德、修慝(Te4)、辨惑』,也就是升华品德、去除邪念、解开疑惑,孔子告诉他,要善于“让渡利益、自我反省、以和为贵”。孔子又告诉樊迟,“仁”就是“珍爱生命”,“智”就是“慧眼识人”,如果对抽象表述没有概念,就仔细观察不同的人,每个细微领域都可以找出“达人”来作为“标尺”,可以『举直错诸枉,能使枉者直』,用最高标准来对自己严格要求,必然可以取得长足进步。
        
        综观《论语》,樊迟是唯一向孔子请教“怎样种田”的学员。《子路十三》第4章记载,『樊迟请学稼』,孔子冷冷回答,『吾不如老农』,又请教“怎样种菜”,『请学为圃』,孔子依旧冷冷回答,『吾不如老圃』,樊迟只能悻悻地告退。等到樊迟退出去以后,『子曰:“小人哉,樊须也!上好礼,则民莫敢不敬;上好义,则民莫敢不服;上好信,则民莫敢不用情。夫如是,则四方之民襁负其子而至矣,焉用稼?”』。
        
        樊迟虽然没能成功地从孔子嘴里抠出“农活心经”,却为我们探明了“君子”、“小人”两词的真正含义。孔子非常喜爱樊迟,樊迟也一直担任孔子的车夫。孔子并没有“责骂”樊迟,他评价樊迟是个“小人”的真实含义,是感叹樊迟的“眼光心胸”和“气度格局”有待提高。孔子广收门徒、传授知识是为了向“千乘之国”输送“百里之才”,是要能把一百平方公里大小的地盘治理得有声有色的“官宦”,而不是只知道自己挥着锄头“汗滴禾下土”的农夫。


#
#小小鸟
Xiao3Xiao3Niao3 = [['D', 4, 4, 100], #*大调,4/4拍, 90拍/分钟
                   #引子
                   [3, 2/16, 3,2/16, 5,3/16, 6,1/16, 3,2/16, 3,2/16, 2, 2/16,1,2/16],
                   [3,2/16, 3,2/16, 5, 3/16, 6,1/16, 3, 2/16, 3, 2/16, 2, 2/16, 1,2/16],
                   [3,2/16, -7,1/16, -7,1/16, 3,2/16, -7,2/16, 1,4/16, 1,2/16, 0,2/16],
                   #第一节
                   [3,2/16, 3,2/16, 2,2/16, 1,2/16, 3,8/16],
                   [5,2/16, 5,1/16,5,1/16, 4,2/16, 5, 2/16, 6,8/16],
                   [3,2/16,3,2/16,2,2/16,1,2/16, 5,2/16,5,2/16,4,2/16,5,2/16],
                   [6,2/16, 6,1/16,6,1/16, 11,2/16,11,1/16,11,1/16, 6,2/16,5,2/16, 3,4/16],
                   [6,2/16,5,1/16,6,1/16, 5,2/16,1,2/16, 3,4/16, 5,2/16,6,2/16],
                   [6,2/16,5,1/16,6,1/16, 5,2/16,1,2/16, 3,2/16,3,2/16, 5,2/16,0,2/16],
                   [4,1/16, 4,1/16,4,1/16,4,1/16, 1,2/16,1,2/16, 3,2/16,5,2/16, 1,2/16,0,2/16],
                   [2,2/16, 2,1/16,2,1/16, 1,2/16, -5,2/16, -6,4/16, -6,2/16, 0,2/16],
                   [3,2/16, 1,1/16,1,1/16, 3,2/16,-7,2/16, -6,4/16, -6,2/16, 0,2/16],
                   [-6,2/16, -6,1/16,-6,1/16, 1,2/16,1,2/16, -6,2/16,-5,2/16, -3,4/16],
                   [-7,2/16,-7,4/16, 3,2/16,-6,8/16],
                   [-7,2/16,3,2/16,-7,2/16,3,2/16, -6,2/16,0,2/16, -6,2/16,0,2/16],
                   [3,4/16, 5,2/16,3,1/16,5,1/16, 6,4/16, 6,4/16],
                   [5,2/16, 5,1/16, 6,1/16, 5,2/16,2,1/16,5,1/16, 3, 4/16, 3,4/16],
                   [3,2/16, 2,1/16,3,1/16, 1,2/16,-6,1/16,1,1/16, 2,4/16,2,4/16],
                   [3,1/16,3,1/16,5,1/16,5,1/16, 2,2/16,3,2/16,-6,4/16,-6,4/16],
                   [3,2/16,-6,2/16, 3,2/16,-6,2/16, 1,2/16,-6,2/16,1,2/16,-6,2/16],
                   [1,2/16,-6,2/16, 1,2/16,-6,2/16, 3,2/16,-6,2/16, 3,2/16,-6,2/16],
                   [3,3/16, 5,1/16, 0,2/16, 7,2/16, 6, 8/16],
                   [7,3/16,7,1/16, 6,1/16,11,1/16,7,1/16,6,1/16, 6,2/16,5,2/16, 6,2/16,0,2/16],
                   [6,6/16, 11,2/16, 6,2/16,5,2/16, 3,2/16,0,2/16],
                   [7,4/16, 6,2/16,5,2/16, 6,8/16],

                   #引子
                   [3, 2/16, 3,2/16, 5,3/16, 6,1/16, 3,2/16, 3,2/16, 2, 2/16,1,2/16],
                   [3,2/16, 3,2/16, 5, 3/16, 6,1/16, 3, 2/16, 3, 2/16, 2, 2/16, 1,2/16],
                   [3,2/16, -7,1/16, -7,1/16, 3,2/16, -7,2/16, 1,4/16, 1,2/16, 0,2/16],
                   #第二节
                   [3,2/16, 3,2/16, 2,2/16, 1,2/16, 3,8/16],
                   [5,2/16, 5,1/16,5,1/16, 4,2/16, 5, 2/16, 6,8/16],
                   [3,2/16,3,2/16,2,2/16,1,2/16, 5,2/16,5,2/16,4,2/16,5,2/16],
                   [6,2/16, 6,1/16,6,1/16, 11,2/16,11,1/16,11,1/16, 6,2/16,5,2/16, 3,4/16],
                   [6,2/16,5,1/16,6,1/16, 5,2/16,1,2/16, 3,4/16, 5,2/16,6,2/16],
                   [6,2/16,5,1/16,6,1/16, 5,2/16,1,2/16, 3,2/16,3,2/16, 5,2/16,0,2/16],
                   [4,1/16, 4,1/16,4,1/16,4,1/16, 1,2/16,1,2/16, 3,2/16,5,2/16, 1,2/16,0,2/16],
                   [2,2/16, 2,1/16,2,1/16, 1,2/16, -5,2/16, -6,4/16, -6,2/16, 0,2/16],
                   [3,2/16, 1,1/16,1,1/16, 3,2/16,-7,2/16, -6,4/16, -6,2/16, 0,2/16],
                   [-6,2/16, -6,1/16,-6,1/16, 1,2/16,1,2/16, -6,2/16,-5,2/16, -3,4/16],
                   [-7,2/16,-7,4/16, 3,2/16,-6,8/16],
                   [-7,2/16,3,2/16,-7,2/16,3,2/16, -6,2/16,0,2/16, -6,2/16,0,2/16],
                   [3,4/16, 5,2/16,3,1/16,5,1/16, 6,4/16, 6,4/16],
                   [5,2/16, 5,1/16, 6,1/16, 5,2/16,2,1/16,5,1/16, 3, 4/16, 3,4/16],
                   [3,2/16, 2,1/16,3,1/16, 1,2/16,-6,1/16,1,1/16, 2,4/16,2,4/16],
                   [3,1/16,3,1/16,5,1/16,5,1/16, 2,2/16,3,2/16,-6,4/16,-6,4/16],
                   [3,2/16,-6,2/16, 3,2/16,-6,2/16, 1,2/16,-6,2/16,1,2/16,-6,2/16],
                   [1,2/16,-6,2/16, 1,2/16,-6,2/16, 3,2/16,-6,2/16, 3,2/16,-6,2/16],
                   [3,3/16, 5,1/16, 0,2/16, 7,2/16, 6, 8/16],
                   [7,3/16,7,1/16, 6,1/16,11,1/16,7,1/16,6,1/16, 6,2/16,5,2/16, 6,2/16,0,2/16],
                   [6,6/16, 11,2/16, 6,2/16,5,2/16, 3,2/16,0,2/16],
                   [7,4/16, 6,2/16,5,2/16, 6,8/16],


                   #尾部
                   [7,4/16, 6,1/16,7,1/16,6,1/16,5,1/16, 6,8/16],
                   [5, 4/16, 5,2/16, 3,2/16, 5,2/16, 6,2/16, 11,2/16, 7,2/16],
                   [6, 16/16],
                   [6, 6/16,1,2/16, 7,2/16,5,2/16, 6,4/16, 7,4/16, 6,2/16,5,2/16, 6,8/16]];


#我是一只小小鸟
Yi4Zhi1Xiao3Xiao3Niao3 = [['G', 4, 4, 80], #*大调,4/4拍, 90拍/分钟
                   #引子
                   [3,8/16, 3,2/16, 2,4/16, 3,2/16],
                   [1,6/16, -6,2/16, -6,6/16, 1,1/16, 2,1/16],
                   [3,8/16, 3,2/16, 5,2/16, 3,2/16, 1,2/16],
                   [5, 16/16],
                   #第一段
                   [5, 12/16, 0,2/16, 1,1/16, 2,1/16],
                   [3,1/16,3,1/16,3,1/16,3,1/16, 3,1/16, 3,2/16,3,1/16, 4,2/16,3,1/16,2,1/16, 2,1/16,1,2/16,1,1/16],
                   [-6,2/16, -6,6/16, 0,2/16, 1,1/16, 2,1/16],
                   [3,4/16, 0,3/16, 3,1/16, 5,1/16,5,1/16,5,1/16,5,1/16, 5,1/16,3,1/16,1,1/16,2,1/16],
                   [2,8/16, 0,6/16, 3,1/16, 2,1/16],
                   [1,1/16,-6,1/16, 1,1/16, 1, 1/16, 1,1/16,1,2/16,1,1/16, 1,1/16,-6,3/16, 0,1/16,-5,1/16,-5,1/16,-5,1/16],
                   [5,2/16, 5,2/16, 3,2/16, 2,1/16, 1, 1/16, 1,3/16, 3,1/16, 3,1/16,3,1/16, 3,1/16,1,1/16],
                   [3,1/16, 2,2/16, 2,1/16, 2,1/16, 2, 1/16, 1,1/16, 2,1/16, 0,2/16, -6, 1/16, -6,1/16, -6,1/16,-6,2/16, 1,1/16],
                   [1,8/16, 0,6/16, 1,1/16, 2,1/16],
                   [3,1/16,3,1/16,3,1/16,3,1/16, 2,1/16,3,2/16,3,1/16, 2,1/16,3,2/16,1,1/16, 2,2/16,3,2/16],
                   [1,1/16,1,1/16,-6,2/16,-6,4/16, 0,6/16, 1,1/16,2,1/16],
                   [3,1/16,3,1/16,3,1/16,3,1/16, 3,1/16,3,1/16,3,1/16,3,1/16, 5,1/16,5,1/16,5,1/16,5,1/16, 5,1/16,5,2/16,1,1/16],
                   [2,8/16, 0,6/16, 3,1/16,2,1/16],
                   [1,1/16, -6,1/16, 1,2/16, 1,4/16, 1,1/16, 1,3/16, 0,2/16, -5,1/16,5,1/16],
                   [5,2/16, 5,4/16, 6,1/16,3,1/16, 3,4/16, 3,1/16,3,1/16,3,1/16, 1,1/16],
                   [3,1/16, 2,3/16, 2,1/16,2,1/16,1,1/16,2,1/16, 0,1/16,-6,1/16,-6,1/16,-6,1/16, -6,1/16,-6,2/16,1,1/16],
                   [1, 12/16, 0,4/16],
                   #副歌<1>
                   [5,1/16,5,2/16,5,1/16, 5,1/16,5,2/16,5,1/16, 5,1/16,5,2/16,5,1/16, 5,1/16,5,2/16,3,1/16],
                   [3, 12/16, 0,2/16, 3,1/16,4,1/16],
                   [5,1/16,5,2/16,5,1/16, 5,3/16,5,1/16, 5,1/16,5,2/16,5,1/16, 5,1/16,11,2/16,12,1/16],
                   [7,1/16,6,1/16,5,2/16, 5, 8/16, 0,3/16, 5,1/16],
                   [6,1/16,6,1/16,6,1/16,6,1/16, 6,2/16,6,1/16,6,1/16, 6,1/16,6,3/16, 6,1/16,6,1/16,5,2/16],
                   [5,1/16,5,2/16,11,1/16, 11,1/16, 3,2/16, 2,1/16, 1,4/16, 3,1/16,3,2/16,3,1/16],
                   [3,1/16,2,3/16, 2,2/16, 2,1/16, 1,1/16, 2,6/16, 1,1/16,2,1/16],
                   [2, 16/16],

                   #副歌<2>
                   [5,1/16,5,2/16,5,1/16, 5,1/16,5,2/16,5,1/16, 5,1/16,5,2/16,5,1/16, 5,1/16,5,2/16,3,1/16],
                   [3, 12/16, 0,2/16, 3,1/16,4,1/16],
                   [5,1/16,5,2/16,5,1/16, 5,3/16,5,1/16, 5,1/16,5,2/16,5,1/16, 5,1/16,11,2/16,12,1/16],
                   [7,1/16,6,1/16,5,2/16, 5, 8/16, 0,3/16, 5,1/16],
                   [6,1/16,6,1/16,6,1/16,6,1/16, 6,2/16,6,1/16,6,1/16, 6,1/16,6,3/16, 6,1/16,6,1/16,5,2/16],
                   [5,1/16,5,2/16,11,1/16, 11,1/16, 3,2/16, 2,1/16, 1,4/16, 3,1/16,3,2/16,3,1/16],
                   [3,1/16,2,3/16,2,2/16, 2,1/16,1,1/16, 2,4/16, -6,4/16],
                   [1, 16/16],

                   #中间引子
                   [13, 8/16, 5,1/16, 11,2/16, 5,1/16, 6,4/16],
                   [11,1/12, 16,1/12, 15,1/12, 13,1/12, 12,1/12, 11,1/12, 6,8/16],
                   [1,1/24,6,1/24,1,1/24,6,1/24,2,1/24,6,1/24, 6,1/24,3,1/24,6,1/24,6,1/24,4,1/24,6,1/24, 5,1/12,5,1/12,5,1/12, 5,4/16],
                   [3,1/12, 3,1/12, 3,1/12, 3,8/16, 6,1/12, 11,1/12, 12,1/12],
                   [16,2/16,11,1/16,6,1/16, 6,1/16, 5,2/16, 5,1/16, 6,6/16, 3,2/16],
                   [11,1/16, 3,1/16, 7, 1/16, 3,1/16, 6,1/16, 3,1/16, 5,1/16, 3,1/16, 3,1/20,3,1/20,2,1/20,1,1/20,2,1/20, 2,2/16,6,2/16],
                   [11,1/24,13,1/24,11,1/24,11,1/24,7,1/24,6,1/24, 5,1/24,3,1/24,2,1/24,1,1/24,7,1/24,6,1/24, 5,4/16, 1, 2/16, 2,2/16],
                   
                   #第二段
                   [3, 1/16,3,1/16,3,1/16,3,1/16, 3,1/16,3,2/16,3,1/16, 3,1/16,3,3/16,2,2/16,3,2/16],
                   [1,2/16, 1,1/16,-6,1/16, -6,4/16, 0,4/16, 0,1/16, 1,1/16, 1,1/16, 2,1/16],
                   [3,1/16,3,1/16,3,1/16,5,1/16, 5,4/16, 5,1/16,5,1/16,5,1/16,5,1/16, 5,1/16,6,2/16,1,1/16],
                   [2, 8/16, 0,6/16, 3,1/16, 2, 1/16],
                   [1, 1/16, -6,1/16, 1,1/16, 1,1/16, 1,1/16, -6,3/16, 0, 2/16, -5,1/16,-5,1/16, -5,1/16,-5,2/16,5,1/16],
                   [5,1/16, 5,1/16, 5,1/16, 5,1/16,  5,1/16, 5,1/16, 5,1/16, 6,1/16,  6,1/16, 3,3/16, 3,1/16, 3,2/16, 3,1/16],
                   [3,1/16, 2,2/16, 2,1/16, 2,1/16, 2,1/16, 1,1/16, 2,1/16, 2,2/16, -6,1/16,-6,1/16,  -6,1/16, 1,2/16, 1,1/16],
                   [1, 8/16, 0, 8/16],

                   #结尾<1>
                   [5,1/16, 5,2/16, 5,1/16, 5,1/16, 5,2/16, 5,1/16, 5,1/16, 5,2/16, 5,1/16, 5,1/16, 5,2/16, 3,1/16],
                   [3, 12/16, 0, 2/16, 3,1/16, 4,1/16],
                   [5,2/16,5,1/16,5,1/16, 5,2/16,5,2/16, 5,2/16, 5,1/16,5,1/16, 5,1/16,11,2/16, 12,1/16],
                   [7,1/16,6,1/16, 5, 2/16, 5, 8/16, 0,3/16, 5,1/16],
                   [6,1/16,6,1/16,6,1/16,6,1/16, 6,2/16,6,1/16,6,1/16, 6,1/16,6,3/16, 6,1/16,6,1/16,5,2/16],
                   [5,1/16, 5,2/16, 11,1/16, 11,1/16, 3,2/16, 2,1/16, 1,4/16, 3,1/16, 3,2/16, 3,1/16],
                   [3,1/16, 2,3/16, 2,2/16, 2,1/16, 1,1/16, 2, 4/16, -6, 4/16],
                   [1, 12/16, 0, 4/16],

                   #结尾<2>
                   [5,1/16, 5,2/16, 5,1/16, 5,1/16, 5,2/16, 5,1/16, 5,1/16, 5,2/16, 5,1/16, 5,1/16, 5,2/16, 3,1/16],
                   [3, 12/16, 0, 2/16, 3,1/16, 4,1/16],
                   [5,2/16,5,1/16,5,1/16, 5,2/16,5,2/16, 5,2/16, 5,1/16,5,1/16, 5,1/16,11,2/16, 12,1/16],
                   [7,1/16,6,1/16, 5, 2/16, 5, 8/16, 0,3/16, 5,1/16],
                   [6,1/16,6,1/16,6,1/16,6,1/16, 6,2/16,6,1/16,6,1/16, 6,1/16,6,3/16, 6,1/16,6,1/16,5,2/16],
                   [5,1/16, 5,2/16, 11,1/16, 11,1/16, 3,2/16, 2,1/16, 1,4/16, 3,1/16, 3,2/16, 3,1/16],
                   [1, 8/16, 0, 4/16, 3,1/16,3,2/16,3,1/16],
                   [3,1/16, 2,3/16, 2,2/16, 2,1/16, 1,1/16, 2,4/16, -6,4/16],
                   
                   [1, 16/16],
                   [0, 48/16],
                   [5,1/16, 5,2/16, 5,1/16, 5,1/16, 5,2/16, 5,1/16, 5,1/16, 5,2/16, 5,1/16,  5,1/16, 5,2/16,3,1/16],
                   [3, 12/16, 0, 2/16, 3, 1/16, 4,1/16],
                   [5,2/16, 5,1/16, 5,1/16,  5,2/16,  5,2/16, 5,2/16, 5,1/16, 5,1/16, 5,2/16, 12,2/16],
                   [12,1/16, 6, 1/16, 5,2/16, 5, 8/16, 0, 4/16]];
#

#
#计算模板及用砼量
def calc_20161206():
    
    material = [['部件名称', '模板面积(M2)', '粉刷面积(M2)', '用砼量(M3)', '脚手架(M2)', '数量'],
            
            #墙
            ['墙'],
            ['DWQ1', 160.9026, 160.9026, 23.1597, 105.21],
            ['DWQ2', 189.8825, 189.8825, 23.6516,102.69],
            
            #梁
            ['梁'],
            ['KL-1', 9.932, 10.7, 1.62,''],
            ['KL-1(250*350)', 0.785, 0.815, 0.0788,''],
            ['AL2', 15.0831, 20.37, 3.06, ''],
            ['KL-2', 8.964, 8.64, 1.08, ''],
            ['KL-2(200*400)', 1.1, 1.12, 0.12, ''],
            ['KL-3', 8.496, 10.8, 1.62, ''],
            ['KL-4', 14.508, 14.4, 1.82, ''],
            ['KL-5', 8.161, 7.727, 1.0725, ''],
            ['KL-5(250*500)', 4.634, 7.727, 1.0725, ''],
            ['KL-5(250*300)', 0.41, 0.24, 0.0375, ''],
            ['KL-6', 8.659, 8.385, 1.0725, ''],
            ['KL-6(250*500)', 4.634, 4.54, 0.575, ''],
            ['KL-6(200*300)', 0.298, 0.24, 0.03, ''],
            ['KL-7', 14.0816, 14.3, 1.0725, ''],
            ['L-1', 4.369, 4.1589, 0.4159, ''],
            ['L-2', 3.7865, 3.65, 0.4688, ''],
            ['L-3', 3.262, 2.34, 0.23, ''],
            ['L-4', 2.765, 2.37, 0.237, ''],
            ['XL-2', 0.308, 0.24, 0.024, ''],
            ['L-6', 4.992, 5.2, 0.52, ''],
            ['L-6(200*300', 1.83, 1.41, 0.156, ''],
            ['L-5', 3.7, 3.28, 0.328, ''],
            ['L-7', 3.495, 3.3, 0.3535, ''],
            ['L-8', 2.07, 1.74, 0.186, ''],
            #板
            ['板'],
            ['B180', 1.68+0.86, '', 0.2736, '', 1],
            ['H-0.32', 3.402+0.9414, '', 0.5872, '', 1],
            ['H-0.07', 12.82+2.692, '', 2.0115, '', 2],
            ['LB-1', 45.0375+1.997,'', 3.8166,'', 6],
            ['LB-2', 52.83+0.526, '', 5.9616, '', 3],
            ['LB-3', 17.12+1,'',1.872,'',1],
            ['H-0.3', 12.1145+1.5384,'', 1.3202,'',1],
            ['H-0.15',6.84+0.84,'',0.52,'',1],
            ['h=120', 9.2255+0.9766,'',0.8923,'',1],
            #柱
            ['柱'],
            ['KZ1', 7.3833, '', 1.152, '', 2],
            ['KZ2', 22.8575, '', 2.88, 17.28, 5],
            ['KZ3', 11.1339,'', 1.728, '',3],
            ['KZ4', 3.7465, '', 0.576, '', 1],
            ['KZ5',3.715, '', 0.576, '', 1],
            #楼梯
            ['楼梯'],
            ['LT-1', 20.6538, 10.9512, 1.9719, ''],

            #总计
            ['总计']];
    
    
    row = len(material);    
    column = len(material[0]);
    print(arrayFormat(material[0]));    
          

    result = [0] * column;
    partResult = [0] * column;
    partname = '';
    for i in range(1, row):
        col_ = len(material[i]);
        if  col_ == 1: #分项小标题
            partResult[0] = partname+'小计:';
            print(arrayFormat(partResult));
            partResult = [0] * column;
            partname = material[i][0];
        else:
            if (col_ == column - 1): #数量默认为1
                quality = 1;
            else:
                quality = material[i][column-1];

                
            for j in range(1, column-1):
                if (material[i][j] == ''):
                    pass;
                else:
                    #print(quality, material[i][j]);
                    partResult[j] += quality * material[i][j];
                    result[j] += quality * material[i][j];

            partResult[column-1] += quality;

        print(arrayFormat(material[i]));

    result[0] = '总计:';
    print(arrayFormat(result));

    
    ######
    
    price = [['序号', '汇总内容', '金额(元)', '百分比(%)'],
             ['1.1', '人工费', 223114.24, ''],
             ['1.2', '材料费', 724805.68, ''],
             ['1.3', '施工机具使用费', 18235.51, ''],
             ['1.4', '企业管理费', 62752.1, ''],
             ['1.5', '利润', 28973.32,'']];


    row = len(price);
    column = len(price[0]);

    total = 0;
    
    for i in range(1, row):
        total += price[i][2];

    for i in range(1, row):
        price[i][3] = '{0:.2f}'.format(price[i][2]/total*100);
        price[i][2] = '{0:.2f}'.format(price[i][2]);

    for i in range(row):
        print(arrayFormat(price[i]));
        
    
          
          


def arrayFormat(array):
    column = len(array);
    s = '';
    for i in range(column):
        if (type(array[i]) == float):
            number = '{0:.3f}'.format(array[i]);
        else:
            if (array[i] == 0):
                number = '';
            else:
                number = str(array[i]);
            
        if (i < column - 1):
            s += number + ', ';
        else:
            s += number;

    return s;
        
        

if __name__ == '__main__':
    calc_20161206();

#

本节到此结束,欲知后事如何,请看下回分解。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一、引言 随着全球气候变化和城市化进程的加快,洪水灾害的频率和强度呈上升趋势,对人类社会和经济发展构成了严重威胁。因此,建设一套高效、准确的洪水预报与防洪形势分析系统,对于提升洪水灾害的预警能力、减轻灾害损失具有重要意义。本文旨在全面总结洪水预报与防洪形势分析系统的设计背景、目标、需求、总体设计、子系统详细设计等方面的内容,为系统的后续开发、实施和应用提供理论支撑和实践指导。 二、建设背景 洪水灾害作为一种常见的自然灾害,其发生往往伴随着巨大的经济损失和人员伤亡。为了有效应对洪水灾害,提高预警和应对能力,各国政府和相关机构纷纷投入大量资源,开展洪水预报和防洪形势分析的研究和实践。在这样的背景下,本项目的建设显得尤为重要和紧迫。通过集成先进的信息技术、水文学、气象学等多学科知识,构建一套集洪水预报、防洪形势分析、专家交互、会商决策于一体的综合性系统,旨在实现对洪水灾害的全面、精准、高效监测和预警,为洪水灾害的应对提供科学依据和技术支持。 三、项目概述 3.1 项目背景 本项目基于上述建设背景,旨在解决洪水灾害预警和应对中存在的问题和挑战。通过建设一套综合性的洪水预报与防洪形势分析系统,实现对洪水灾害的实时监测、预警、分析和决策支持,提高洪水灾害的应对能力和效率。 3.2 项目目标 本项目的核心目标包括: 实现洪水灾害的实时监测和预警,提高预警的准确性和时效性; 提供全面的防洪形势分析功能,为决策支持提供科学依据; 支持专家交互和会商决策,提高决策的科学性和有效性; 构建开放、可扩展的系统架构,支持后续的功能扩展和升级。 3.3 需求概述 为满足项目目标,系统需要满足以下需求: 实时数据采集和处理能力,确保数据的准确性和时效性; 强大的洪水预报和防洪形势分析功能,支持多种预报模型和分析方法; 友好的用户界面和交互体验,方便用户操作和使用; 高效的数据存储和管理能力,支持大规模数据的存储和查询; 可靠的系统性能和稳定性,确保系统的持续运行和可用性。 四、系统总体设计 4.1 基本设计理念 系统总体设计遵循以下基本理念: 以用户需求为导向,注重系统的实用性和易用性; 采用先进的信息技术和水文学、气象学等多学科知识,确保系统的先进性和准确性; 构建开放、可扩展的系统架构,支持后续的功能扩展和升级; 注重系统的稳定性和安全性,确保系统的持续运行和数据安全。 4.2 软件总体结构 系统采用模块化设计,包括数据采集与处理、洪水预报、防洪形势分析、专家交互、会商决策等多个模块。各模块之间通过标准化的接口进行通信和数据交换,实现系统的集成和协同工作。 4.3 系统接口设计 系统接口设计包括外部接口和内部接口两部分。外部接口负责与外部数据源进行通信和数据交换;内部接口负责各模块之间的通信和数据交换。通过标准化的接口设计,实现系统的灵活性和可扩展性。 4.4 系统整体应用模式 系统采用B/S架构,用户通过浏览器访问系统界面,实现远程访问和操作。系统支持多用户并发访问和操作,满足大规模用户的使用需求。 4.5 子系统划分 系统划分为多个子系统,包括应用支撑平台、预报模型建模子系统、洪水预报子系统、专家交互子系统、水库调洪计算子系统、中长期预报子系统、防洪形势分析子系统和会商子系统等。各子系统之间相对独立又相互关联,共同构成完整的洪水预报与防洪形势分析系统。 五、子系统详细设计 5.1 应用支撑平台 应用支撑平台是系统的基础和核心,负责提供用户管理、权限控制、日管理、数据备份与恢复等基础功能。通过用户与权限设计,实现对用户身份和访问权限的严格控制和管理,确保系统的安全性和稳定性。 5.2 预报模型建模子系统 预报模型建模子系统负责构建和维护洪水预报模型。通过集成多种预报模型和分析方法,实现对洪水灾害的精准预报和分析。子系统包括模型库管理、模型参数设置、模型训练与验证等功能模块。 5.3 洪水预报子系统 洪水预报子系统是系统的核心功能之一,负责根据实时数据和预报模型,对洪水灾害进行实时监测和预警。子系统包括数据采集与处理、洪水预报计算、预警信息发布等功能模块。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值