Python学習【365日チャレンジ!】306日目のマスターU(@Udemy11)です。
ネットショップでは福袋のシーズンに突入し、魅力的なアイテムが詰まった福袋がたくさん販売されていますが、どれもいまいち決め手を欠くんですよね。
福袋を物色していると、入っている商品の値段にお買い得感があって、さらに抽選で高額商品が当たるくじが入っている興味をひかれる福袋を見つけて購入しました。
昨日その福袋が届いたので、中身を確認すると、残念ながらくじは外れてしまいました。
お得にものを買えたということで、良しとしましょうか。
それでは今日も、Python学習を始めましょう。
昨日の復習
昨日は、子供向けグラフィックツールのturtleを学習しました。
対話型シェルを使ってグラフィックツールのturtle
を使ってみましたが、かんたんに線や円などを描くことができました。
いろいろなメソッドが用意されているので、いろいろと試してみてください。
くわしくは昨日の記事をごらんください。
今日は、大人も楽しめるturtle
を使った幾何学模様の描写方法を学習します。
forwardとright
for
ループ、forward
、right
を使って図形を書いてみます。
import turtle
for _ in range(18):
turtle.forward(100)
turtle.right(100)
turtle.done()
今回はPycharmで実行していますが、最後にturtle.done()
を記述していないとプログラムが終了して、描写ウインドウが閉じてしまいます。
出力結果
colorとfill
color
とbegin_fill
、end_fill
を使って先程書いた図形に色を付けてを書いてみます。
import turtle
turtle.color('red', 'blue')
turtle.begin_fill()
for _ in range(18):
turtle.forward(100)
turtle.right(100)
turtle.end_fill()
turtle.done()
color
の第1引数が線の色で、第2引数が中の色を指定して、指定する描写をbegin_fill
とend_fill
で挟んでいます。
出力結果
星を描く
次に角度を調整して、広がる星を書いてみましょう。
import turtle
turtle.color('red', 'blue')
turtle.begin_fill()
for i in range(5 * 5):
turtle.forward(100 + i * 20)
turtle.right(360 / 5 * 2)
turtle.end_fill()
turtle.done()
線と内部の色は同じで、5回の繰り返しを5回分繰り返して回数の分だけ少しずつ線を伸ばすことで、星を広げながら書いていきます。
8行目の360 / 5 * 2
は、描写する線の角度が星の一つの角の角度になるように、ポインターの向きを変える値になります。
出力結果
バラを描く
角度と直線をを少しずつ変えてバラを描いてみます。
import turtle
turtle.color('red','pink')
turtle.begin_fill()
for i in range(50):
turtle.forward(100 + i * 5)
turtle.right(360 / 4 + 10)
turtle.end_fill()
turtle.done()
線を赤にして塗りつぶしをピンクにして、直線を繰り返しの回数×5の長さを加えつつ、直角に10度ずつ加えて線を描写します。
360 / 4
のままだと四角になりますが、10度加えて長さを少しずつ変えていき、最後にピンクで塗りつぶすことで、ピンクのバラを描くことができます。
出力結果
まとめ
直線と角度だけの変化で色々と幾何学的な図形を描くことができます。
角度を少し変えたり、直線の長さを変えたり、circle
を使って円を入れてみたりして、どんな形になるのか想像しながら、幾何学図形を描けば、想像力も向上すること間違いなしです。
線を描くというだけですが、楽しく絵を描くことができるので、ぜひいろいろな図形を描写してみてください。
それでは、明日もGood Python!