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-2(A CIRCLE OF SQUARES)の解答を求めてみる。
コード
Python 3
#!/usr/bin/env python3
import time
import turtle
# 保存用
import io
from PIL import Image
turtle.shape('turtle')
def square():
for i in range(4):
turtle.forward(100)
turtle.right(90)
turtle.speed(0)
for _ in range(60):
square()
turtle.right(5)
# 保存
ps = turtle.getscreen().getcanvas().postscript()
with io.BytesIO() as buffer:
buffer.write(ps.encode('ascii'))
im = Image.open(buffer)
im.save(f'sample2.png')
# 最初から描画し直す
turtle.clearscreen()
# スクリーン撮影の準備(手動)
time.sleep(10)
print('いろんな速度で試してみる。')
for speed in list(range(11)) + ['fastest', 'fast', 'normal', 'slow', 'slowest']:
print(f'speed: {speed}')
turtle.speed(speed)
turtle.title(f'speed: {speed}')
for _ in range(60):
square()
turtle.right(5)
turtle.clearscreen()
入出力結果(cmd(コマンドプロンプト)、Terminal、Jupyter(IPython))
$ python3 sample2.py いろんな速度で試してみる。 speed: 0 speed: 1 speed: 2 speed: 3 speed: 4 speed: 5 speed: 6 speed: 7 speed: 8 speed: 9 speed: 10 speed: fastest speed: fast speed: normal speed: slow speed: slowest $
QuickTime Playerでスクリーンを録画。
0 コメント:
コメントを投稿