zoukankan      html  css  js  c++  java
  • 如何用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)

    实现的效果如下:

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

  • 相关阅读:
    linux 和unix 的区别
    Ubuntu 12.04下安装ibus中文输入法
    安装vmware tools失败解决方法
    snort简介以及在Ubuntu下的安装
    ubuntu下tcpdump使用
    securecrt在linux与windows之间传输文件(转)
    大数据处理时用到maven的repository
    Spark之命令
    Spark之集群搭建
    Spark之scala
  • 原文地址:https://www.cnblogs.com/ivictor/p/5336717.html
Copyright © 2011-2022 走看看