見出し画像

[Python]年齢から木の年輪をカメ画伯が描く

#カメモジュールからカメオブジェクトをインポート
from turtle import Turtle
#カメモジュールからスクリーンオブジェクトをインポート
from turtle import Screen

#カメを生成する(カメオブジェクトのインスタンス)、カメを表す変数に代入
tur = Turtle()
#カメの形状を指定する
tur.shape("turtle")
#カメの大きさを指定する
tur.shapesize(2,2)
#カメの動くスピードを指定
tur.speed(5)
#スクリーンオブジェクトのインスタンス
screen = Screen()
#スクリーンの色指定
screen.colormode(255)

#年齢の入力を受け取り、整数値に型変換し年齢を表す変数に代入する
year = int(input("年齢を入力してください:"))

"""
カメに描かせる年輪の半径を格納したリストの作成
ex.年齢:5→ [1, 2, 3, 4, 5]
実際に描画させると、円と円の感覚が狭く見づらいので
それぞれ5倍させる。
"""
radius_list = [i * 5 for i in range(1, year + 1)] 

#年輪の半径とそれぞれのインデックス番号を取り出す
for i, r in enumerate(radius_list):
    """
    取り出した年輪のインデックス番号によって
    条件分岐し描く色を指定する
    """
    if 0 < (i + 1) <= 5:
        tur.pencolor(242, 226, 186)
    elif 5 < (i + 1) <= 10:
        tur.pencolor(222, 184, 135)
    elif 10 < (i + 1) <= 15:
        tur.pencolor(205,170,125)
    else: 
        tur.pencolor(139,105,20)
    #ペンを上げる(線として描画しない)     
    tur.penup()
    #カメを中心に位置させる
    tur.home()
    #カメを年輪の半径分、前へ移動させる 
    tur.forward(r)
    #ペンを下ろす(線として描画する)
    tur.pendown()
    #カメを左に90度回転させる
    tur.left(90)
    #カメに年輪の半径分の円を描かせる
    tur.circle(r)

実行結果(例)

補足

画面を表示させ続けたい場合は
先頭行にfrom turtle import done
最終行にdone()を挿入してください

この記事が気に入ったらサポートをしてみませんか?