使用Python实现杨辉三角和心

本网站用的阿里云ECS,推荐大家用。自己搞个学习研究也不错

使用Python实现杨辉三角和心

1. 如何实现杨辉三角

import copy
list=[]
newlist=[]
def Fibonacci(list,n):
    newlist.append(0)
    if n ==1:
        return [1]
    for i in range(n):
        if i==0 or i==n-1:
            newlist[i]=1
        else:
            newlist[i]=list[i-1]+list[i]
    return newlist
blanknum=68
for i in range(17):
    blanknum = blanknum - 4
    list=copy.deepcopy(Fibonacci(list,i+1))
    for i in range(blanknum/2):
        print " ",
    for i in list:
        print str(i).ljust(6),
    print ""

实现的效果如下:

看上去还是有点没对齐。。。

2. 如何实现心

def printlove(start,length,midnumber=0,flag=31):
    for i in range(31):
        if i<start or i>start+length-1 and i<15-(midnumber-1)/2 or i>15+(midnumber-1)/2 and i<31-start-length or i> 30-start or i==flag:
            print " ",
        else:
            print "*",
    print ""
for i in range(16):
    if i ==0:
            printlove(4,3)
    elif i==1:
            printlove(1,9)
    elif i>=2 and i<=5:
            printlove(0,i+10)
    elif i==6:
            printlove(1,7,7,15)
    elif i>=7 and i<=8:
            printlove(i-5,6,5-(i-7)*2)
    elif i==9:
            printlove(5,6,1)
    elif i==10:
            printlove(8,6,1)
    elif i==15:
            printlove(15,1,1)
    else:
            printlove(i-1,16-i,1)

实现的效果如下:

 

这样方式有点类似于穷举法,其实这个图案的原始实现算法是根据正弦函数来实现的~具体可参考网上其它语言的实现。

《Python核心编程 第二版》.(Wesley J. Chun ).[高清PDF中文版] http://www.linuxidc.com/Linux/2013-06/85425.htm

《Python开发技术详解》.( 周伟,宗杰).[高清PDF扫描版+随书视频+代码] http://www.linuxidc.com/Linux/2013-11/92693.htm

Python脚本获取Linux系统信息 http://www.linuxidc.com/Linux/2013-08/88531.htm

Ubuntu下用Python搭建桌面算法交易研究环境 http://www.linuxidc.com/Linux/2013-11/92534.htm

Python 的详细介绍请点这里
Python 的下载地址请点这里

未经允许不得转载:演道网 » 使用Python实现杨辉三角和心

赞 (0)
分享到:更多 ()

评论 0

评论前必须登录!

登陆 注册