2019年1月25日金曜日

開発環境

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 コメント:

コメントを投稿