Math Adventures with Python
An Illustrated Guide to Exploring Math with Code
楽天ブックス(Kobo)
紀伊国屋書店(Kinoppy)
開発環境
- macOS Mojave - Apple (OS)
 - Emacs (Text Editor)
 - Windows 10 Pro (OS)
 - Visual Studio Code (Text Editor)
 - Python 3.7 (プログラミング言語)
 
Math Adventures with Python: An Illustrated Guide to Exploring Math with Code (Peter Farrell(著)、No Starch Press)のPART Ⅰ(HITCHIN' UP YOUR PYTHON WAGON)、1(DRAWING POLYGONS WITH THE TURTLE MODULE)、EXERCISE1-4(POLYGON FUNCTIONS)の解答を求めてみる。
コード
Python 3
#!/usr/bin/env python3
import time
import turtle
# 保存用
import io
from PIL import Image
turtle.shape('turtle')
turtle.speed(0)
def polygon(sides=3, side_length=100):
    triangle_count = sides - 2
    internal_angle = 180 * triangle_count / sides
    external_angle = 180 - internal_angle
    for _ in range(sides):
        turtle.forward(side_length)
        turtle.right(external_angle)
colors = ['red', 'green', 'blue', 'orange', 'brown']
color_len = len(colors)
for i, color in enumerate(colors):
    sides = color_len - i + 2
    turtle.pencolor(color)
    side_length = 20 * sides
    for _ in range(3):
        polygon(sides, side_length)
        turtle.right(120)
# 保存
ps = turtle.getscreen().getcanvas().postscript()
with io.BytesIO() as buffer:
    buffer.write(ps.encode('ascii'))
    im = Image.open(buffer)
    im.save(f'sample4.png')
入出力結果(cmd(コマンドプロンプト)、Terminal、Jupyter(IPython))
$ python3 sample4.py $
0 コメント:
コメントを投稿