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-6(A STAR IS BORN)の解答を求めてみる。
コード
Python 3
#!/usr/bin/env python3 import time import turtle # 保存用 import io from PIL import Image def save(filename): ''' png形式の画像として保存 ''' ps = turtle.getscreen().getcanvas().postscript() with io.BytesIO() as buffer: buffer.write(ps.encode()) im = Image.open(buffer) im.save(filename) angle_star = 180 - (180 - 180 * 3 / 5) * 2 print(angle_star) def star(length=100): for _ in range(5): turtle.forward(length) turtle.right(180 - angle_star) turtle.shape('turtle') turtle.speed(0) star() save('star.png') turtle.clearscreen() def star_spiral(): for i in range(1, int(360 / 5) + 1): star(5 * i) turtle.right(5) turtle.shape('turtle') turtle.speed(0) star_spiral() save('star_spiral.png')
入出力結果(cmd(コマンドプロンプト)、Terminal、Jupyter(IPython))
$ python3 sample6.py 36.0 $
0 コメント:
コメントを投稿