查看原文
其他

程序员的春节正确打开方式:防火防盗防老板... | OSC 春节乱弹特辑

2018-02-16 OSC - 小小编辑 开源中国


【今日歌曲】

@小小编辑:“走过一个冬天,辛苦这一年,捎上了心意敲敲门,送到了你身边”

《 吉祥年 》- 凤凰传奇


大年初一,祝天下所有程序员狗年大吉,健康快乐!

首先送上程序员专属祝福:

C:printf("Happy Chinese New Year");

C++ : cout<<"Happy Chinese New Year";

Object-C:NSLog(@"Happy Chinese New Year!");

QBasic : Print "Happy Chinese New Year"

Asp : Response.Write "Happy Chinese New Year"

PHP : echo "Happy Chinese New Year";

Ruby: puts "Happy Chinese New Year!"

JScript: alert("Happy Chinese New Year")

VBScript:MsgBox "Happy Chinese New Year"

Jscript:document.write("Happy Chinese New Year")

xml <TextView android:text="Happy Chinese New Year! " /> 

Delphi: ShowMessage('Happy Chinese New Year!');

VB: Msg("Happy Chinese New Year!")

VC: MessageBox("Happy Chinese New Year!");

shell: echo Happy Chinese New Year

perl: print 'Happy Chinese New Year'

java: System.out.println("Happy Chinese New Year");

LISP:(format t "Happy Chinese New Year!~%")

powerBuilder:messagebox("Happy Chinese New Year")

C#:System.Console.WriteLine("Happy Chinese New Year!")

COBOL:DISPLAY 'Happy Chinese New Year!'

Python:print("Happy Chinese New Year!")

aswing:JOptionPane.showMessageDialog("happy","Happy Chinese New Year!")

Android:Toast.makeText(getApplicationContext(), "Happy Chinese New Year",Toast.LENGTH_SHORT).show()

flex:Alert.show("Happy Chinese New Year!");

Clojure: (println "Happy Chinese New Year") 

verilog/systemverilog/e $display("Happy Chinese New Year") 

as:trace("Happy Chinese New Year!");

nasm:

org07c00h

movax,cs

movds,ax

mov es,ax

call DispStr

jmp$

DispStr:

mov ax,BootMessage

movbp,ax

movcx,16

movax,01301h

movbx,000ch

movdl,0

int10h

ret

BootMessage:db"Happy Chinese New Year!"

times510-($-$$)db0

dw0xaa55


祝大家在新的一年里

代码无Bug,需求一次过;

正点上下班,奖金翻一番;

服务不宕机,甲方好脾气;

告别单身狗,留住发际线。

所以,这个春节怎么愉快地过呢?

防火防盗防老板

一整年 996 下来,最不想听到看到的,当然是领导的电话和工作内容啦

过节的还让我加班???不存在的

if(打手机)


关机;


else if(QQ找)


关机;


else if(微信找)


关机;


然后就可以开心享受假期了~

“凑一桌”

除了帮妈妈刷刷筷子洗洗碗,还可以约亲朋好友凑几桌麻将啊

既能增加亲友感情,又能炫耀智商,

再加上这套 Python 版胡牌代码,

#!/usr/bin/env python

#coding=utf-8

#######################################################

#C 语言版

#马勇波 陈欣庆

#解放军理工大学工程兵工程学院研究生二队,南京 210007)

#PYTHON版

#ixafei

#NJUPT

#######################################################


class Mahjong:

   def __init__(self):

       pass

   


   """判断是否胡牌"""

   def zp_HU(self,list):

       _kingPos=None

       _yuShu=None

       _kingExist=False

       _j=0

       #满足3,3,3,3,2模型

       for _p in list:

           _yuShu=_p[0]%3

           if _yuShu==1:

               return False

           if _yuShu==2:

               if(_kingExist):

                   return False

               _kingPos=_j

               _kingExist=True

           _j=_j+1

       #先计算没有将牌的LIST

       _j=0

       for _p in list:

           if _kingPos==_j:

               pass

           else:

               if not self.Analyze(_p,_j==3):

                   return False

           _j=_j+1

       #该列表中包含将牌,采用轮训迭代方式,效率较低

       #指示除掉将后能否通过

       _success=False

       _jlist=list[_kingPos]+[]

       

       _j=0

       for _card in _jlist:

           if _j==0:

               pass

           else:

               if _card>=2:

                   _jlist[_j]-=2

                   _jlist[0]-=2

                   if self.Analyze(_jlist,_kingPos==3):

                       _success=True

                   if _success:

                       break

           _j=_j+1

       return _success

   

   

   #分解为“刻” “顺”组合

   def Analyze(self,list,flag):

       if list[0]==0:

           return True

       

       #寻找第一张牌

       _j=0

       for _p in list:

           if _j==0:

               pass

           else:

               if _p!=0:

                   break

           _j=_j+1

       result=None

       if list[_j]>=3:

           list[_j]-=3

           list[0]-=3

           result=self.Analyze(list,flag)

           list[_j]+=3

           list[0]+=3

           return result

       

       #做为顺牌

       if not flag and _j<8 and list[_j+1]>0 and list[_j+2]>0:

           list[_j]=list[_j]-1

           list[_j+1]=list[_j+1]-1

           list[_j+2]=list[_j+2]-1

           list[0]=list[0]-3

           result=self.Analyze(list,flag)

           #还原这3张牌

           list[_j]=list[_j]+1

           list[_j+1]=list[_j+1]+1

           list[_j+2]=list[_j+2]+1

           list[0]=list[0]+3

           return result

       return False

       

   

   #计算LIST中的总数

   def countList(self,list):

       _a=0

       for i in list:

           _a=_a+i

       return _a

   

   

   #转化为二维数组

   def list2array(self,list):

       """麻将游戏规则中心

       具体如下表

       ============================================

       0    1     2   3    4    5    6    7    8

       ============================================

       一万 二万 三万 四万 五万 六万 七万 八万 九万

       ============================================

       9    10   11   12   13   14   15   16   17

       ============================================

       一条 二条 三条 四条 五条 六条 七条 八条 九条

       ============================================

       18    19   20   21   22   23   24   25   26

       ============================================

       一筒 二筒 三筒 四筒 五筒 六筒 七筒 八筒 九筒

       ============================================

       27    28   29   30   31   32   33   34   35

       ============================================

       东风 南风 西风 北风 红中 发财 白板 花1 花2

       ============================================

       [0,1-9]

       0表示总数,1-9分别用各自的个数表示

       [8,8,8,8,7,6,5,4,3,2,1,0,0,0]

       转化为

       [[14, 3, 1, 1, 1, 1, 1, 1, 1, 4], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]

       """

       _allPai=[]

       _w=[]

       _t=[]

       _s=[]

       _z=[]

       for k in range(0,9):

           _w.append(list.count(k))

           

       for k in range(9,18):

           _t.append(list.count(k))

           

       for k in range(18,27):

           _s.append(list.count(k))

       

       for k in range(27,36):

           _z.append(list.count(k))

       

       _w.insert(0,self.countList(_w))

       _t.insert(0,self.countList(_t))

       _s.insert(0,self.countList(_s))

       _z.insert(0,self.countList(_z))

       _allPai.append(_w)

       _allPai.append(_t)

       _allPai.append(_s)

       _allPai.append(_z)

       return _allPai




if __name__=="__main__":

   _pai=[

               [6,1,4,1],

               [3,1,1,1],

               [0],

               [5,2,3]

               ]

   print _pai

   MAHJONG=Mahjong()

   print MAHJONG.zp_HU(_pai)

   list=[0,1,1,1,1,2,9,10,11,27,27,28,28,28]

   list2=[8,8,8,8,7,6,5,4,3,2,1,0,0,0]

   pai2=MAHJONG.list2array(list2)

   print pai2

   print MAHJONG.zp_HU(pai2)


搞不好还能发笔小财!

但是,有家庭趴的地方,怎么会没有七大姑八大姨

你会发现,他们一个个都跟打了鸡血似的开始轮番关心起你:

蜀黍阿姨,这牌我不打了还不行吗?

“行啊,我这认识一姑娘挺不错的,你们抽空见见”

......

相个亲

春节期间相亲,与其说是为了找到真爱,不如说是为了 —— 孝顺父母

既然亲戚朋友都在帮忙张罗,那就抱着不求有功的心态找个有情调的餐厅试试

再聊个有趣味的话题,

就当认识个盆友好了,说不好还能遇到真爱

没有也没关系,你还可以去同学聚会会会昔日女神

参加同学聚会

春节期间的同学聚会,以中小学为主,那是我们的青葱岁月,那里有熟悉又陌生的面孔,还有我一头浓密的秀发......

其实多年以后,相比大多数行业,程序员可以算是 —— 衣锦还乡了

但来到聚会现场才发现,昔日女神已经不见踪影

包厢充斥着的都是炫耀、谄媚、造作的谈话...

我们程序员如何低调又不失礼貌地对答如流呢?

其实,只要安安静静地保持佛系青年的本色就好了

春节怎么过,不同人有不同答案

对于卓尔不群的程序员,春节肯定有自己的一套过法

不过要特别提醒各位的是

过节虽好,也不要贪吃哦!

最后,小编再祝大家

</2017><2018>

所见即所得, 一次编译到处运行

开心快乐stack overflow

悲伤永远null pointer

对象不再404

前途无忧无bug!

 

内容来源:小象公众号及网络


推荐阅读

VB 连续两月上涨,Go 怎么还在跌.... | TIOBE

程序员以上帝视角解读“旅行青蛙”,你的呱真的在旅行嘛?

深入了解 Token 认证的来龙去脉

大型高并发与高可用的三层缓存架构总结

Mybatis-plus 思维导图,让 Mybatis-plus 不再难懂

点击“阅读原文”查看更多精彩内容

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存