turtleモジュールを使ってフィボナッチ数列を可視化する

使う知識

  • turtle
  • フィボナッチ

    フィボナッチ数列は、自然界に存在する模様やパターンに現れています。
    かたつむりの渦巻き、木の枝の数、花びらの増え方、、、あらゆる自然現象に、フィボナッチ数列は見られます。

    今回は、せっかくのPython修行なのでturtleモジュールを使ってフィボナッチ数列を可視化したいと思います。

    まずは、フィボナッチ数列をリストに出して見ましょう。

    フィボナッチ数列のリスト化

    def fib(n):
        result = []
        a, b = 0, 1
        while b < n:
            result.append(b)
            a, b = b, a+b
        return result
    n=500
    print(fib(n))
    

    “`
    [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377]
    “`

    次に、これをturtleで図形描写しましょう。

    カタツムリの渦巻き

    def fib(n):   # return Fibonacci series up to n
        result = []
        a, b = 0, 1
        while b < n:
            result.append(b)
            a, b = b, a+b
        return result
    import turtle
    t=turtle
    x=500
    i=0
    print(fib(x))
    while i < len(fib(x)):
        t.circle(fib(x)[i],90)
        i+=1
        if i == len(fib(x)):
            break
    

    “`
    [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377]
    %e3%82%ab%e3%82%bf%e3%83%84%e3%83%a0%e3%83%aa
    “`