開発環境
- macOS High Sierra - Apple
- Emacs (Text Editor)
- Python 3.6 (プログラミング言語)
Teach Your Kids to Code: A Parent-Friendly Guide to Python Programming (Bryson Payne(著)、No Starch Press)のChapter 6.(Random Fun and Games: Go Ahead, Take a Chance!)、PROGRAMMING CHALLENGES、#2: REALISTIC MIRRORED SPIRALSを取り組んでみる。
#2: REALISTIC MIRRORED SPIRALS
コード(Emacs)
Python 3
#!/usr/bin/env python3 import random import turtle t = turtle.Pen() t.speed(0) turtle.bgcolor('black') colors = ['red', 'yellow', 'blue', 'green', 'orange', 'purple', 'white', 'gray'] for n in range(50): t.pencolor(random.choice(colors)) size = random.randrange(10, 41) sides = random.randrange(3, 10) thick = random.randrange(1, 4) t.width(thick) # x = random.randrange(0, turtle.window_width() // 2) # y = random.randrange(0, turtle.window_height() // 2) x = random.randrange(0, 600 // 2) y = random.randrange(0, 600 // 2) angle = t.heading() angles = [angle, 180 - angle, angle - 180, 360 - angle] for i, (a, (x0, y0)) in enumerate( zip(angles, [(x, y), (-x, y), (-x, -y), (x, -y)])): t.penup() t.setpos(x0, y0) t.setheading(a) t.pendown() if i % 2 == 0: f = t.left else: f = t.right for m in range(size): t.forward(m * 2) f(360 / sides + 2) print('done') input()
入出力結果(Terminal, Jupyter(IPython))
$ ./sample2.py done q $ ./sample2.py done close $ ./sample2.py done q $ ./sample2.py done q $ ./sample2.py done q $
0 コメント:
コメントを投稿