杨辉三角,估计在国内上过奥数班的小朋友们都学习过。

关于杨辉三角的介绍,可以参看百度百科:http://baike.baidu/view/7804.htm

这里给出Python的实现方法,主要是看到C语言的写法,叽叽歪歪,叽叽歪歪,实在忍不了,动手写了一个:

1 NUM=52 3 defprintLine(lineList):4 lineList=[str(tmpNum)fortmpNuminlineList]5 print("%s%s"%(""*(NUM-len(lineList)),"".join(lineList)))6 7 foriinrange(NUM):8 ifi<2:9 yhList=[1]*(i+1)10 else:11 yhList[1:-1]=[(tmpNum+yhList[j])forj, tmpNuminenumerate(yhList[1:])]12 printLine(yhList)

运行结果如下:

111121133114641

总觉得我的代码还是有可以精简的地方,写成更少的行。

留待以后再来优化吧,呵呵。

希望Python达人不吝赐教。

更多推荐

python杨辉三角编程_Python趣味编程(三)杨辉三角(原创)