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

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

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

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

1 NUM = 5
2
3  def printLine(lineList):
4 lineList = [str(tmpNum) for tmpNum in lineList]
5 print("%s%s" % (" " * (NUM - len(lineList)), " ".join(lineList)))
6
7  for i in range(NUM):
8 if i < 2:
9 yhList = [1] * (i + 1)
10 else:
11 yhList[1:-1] = [(tmpNum + yhList[j]) for j, tmpNum in enumerate(yhList[1:])]
12 printLine(yhList)

运行结果如下:

1
1 1
1 2 1
1 3 3 1
1 4 6 4 1

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

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

希望Python达人不吝赐教。

posted @ 2011-07-12 13:03  毛豆子  阅读(9111)  评论(6编辑  收藏  举报