開発環境
- 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 7.(Functions: There's a Name for That)、PROGRAMMING CHALLENGES、#1: Mirrored Smileysを取り組んでみる。
#1: Mirrored Smileys
コード(Emacs)
Python 3
#!/usr/bin/env python3 import random import turtle t = turtle.Pen() t.speed(0) t.hideturtle() turtle.bgcolor('black') def draw_smiley(x, y, dir): t.penup() t.setpos(x, y) t.pendown() t.pencolor('yellow') t.fillcolor('yellow') t.begin_fill() t.circle(50) t.end_fill() def op(y): if dir: return y return -y t.setpos(x - 15, y + op(60)) t.fillcolor('blue') t.begin_fill() t.circle(10) t.end_fill() t.setpos(x + 15, y + op(60)) t.begin_fill() t.circle(10) t.end_fill() t.setpos(x - 25, y + op(40)) t.pencolor('black') t.width(10) t.goto(x - 10, y + op(20)) t.goto(x + 10, y + op(20)) t.goto(x + 25, y + op(40)) t.width(1) def draw_kaleido(x, y): print(f'{x} x {y}') for x0, y0 in [(x, y), (-x, y)]: draw_smiley(x0, y0, True) t.penup() t.left(180) for x0, y0 in [(-x, -y), (x, -y)]: draw_smiley(x0, y0, False) t.left(180) turtle.onscreenclick(draw_kaleido) input()
入出力結果(Terminal, Jupyter(IPython))
$ ./sample1.py -274.0 x 246.0 274.0 x 97.0 -21.0 x -153.0 -204.0 x -8.0 -398.0 x -80.0 q $
0 コメント:
コメントを投稿