見出し画像

5行で動くPython教材 オリジナルテキスト作成1 基本コード解説

第8回:カラフルな虹色スパイラル

from turtle import *

speed(0); pensize(3)

colors = ['red', 'blue', 'yellow']

for i in range(100):

  color(colors[i % 3])

  fd(i * 2)

  lt(120)


このプログラムで何ができるの?

このプログラムを実行すると、

🔴 赤

🔵 青

🟡 黄色

の3色を使って、だんだん大きくなる三角形の模様を描きます。

まるで花びらや花火のような、きれいな図形ができます。


1行目

from turtle import *

タートルという絵を描く道具を使う準備です。

タートルは「かめさん」と考えてください。

かめさんが画面の上を歩きながら線を描いてくれます。


2行目

speed(0)

かめさんを一番速く動かします。

数字が小さいとゆっくりです。

0は最高スピードです。


pensize(3)

線の太さを決めます。

3なので少し太い線になります。


3行目

colors = ['red', 'blue', 'yellow']

使う色を準備しています。

  • red → 赤

  • blue → 青

  • yellow → 黄色

という意味です。

色の入った箱を作ったと思ってください。


4行目

for i in range(100):

100回くり返します。

最初は

i = 0

次は

i = 1

その次は

i = 2

というように数字が増えていきます。


5行目

color(colors[i % 3])

線の色を決めています。


% は何?

% は「あまり」を求める記号です。

例えば

0 ÷ 3 のあまり → 0

1 ÷ 3 のあまり → 1

2 ÷ 3 のあまり → 2

3 ÷ 3 のあまり → 0

4 ÷ 3 のあまり → 1

となります。


だから色は

赤 → 青 → 黄 → 赤 → 青 → 黄

と順番に変わります。


6行目

fd(i * 2)

前へ進みます。

fdは

「forward(前へ進む)」

の略です。


最初は

fd(0)

次は

fd(2)

次は

fd(4)

次は

fd(6)

になります。


つまり、

だんだん長く進む

ということです。

だから図形もどんどん大きくなります。


7行目

lt(120)

左へ120度曲がります。

ltは

「left(左)」

の略です。


三角形は

360 ÷ 3 = 120

なので、

120度ずつ曲がると三角形になります。


全体の流れ

① 色を決める

② 前へ進む

③ 左へ120度曲がる

④ これを100回くり返す


すると、

🔴 赤

🔵 青

🟡 黄色

の三角形が少しずつ大きくなりながら重なって、

🌸 花のような模様

🎆 花火のような模様

ができあがります。


考えてみよう

① 黄色の代わりに緑を入れるとどうなるかな?

colors = ['red', 'blue', 'green']

120

90

に変えるとどうなるかな?


100回

200回

に増やすとどうなるかな?


チャレンジ

実行する前に、

「どんな絵になるかな?」

と予想してみよう。

プログラミングで大切なのは、

まず考えること。

そして、

実際に動かして確かめること。

この2つをくり返すことで、どんどん力がついていきます。✨

━━━━━━━━━━━━━━
📘 教材について詳しく知りたい方へ

🎁 第1回〜第5回 無料サンプル

🚀 20名限定 モニター募集
5行で動くPython教材【第1回〜第100回】

通常価格 14,800円
→ モニター価格 7,400円

#Python
#Python学習
#プログラミング
#プログラミング教育
#情報教育
#小学生プログラミング
#中学生プログラミング
#STEM教育
#論理的思考
#Python5行の魔法


いいなと思ったら応援しよう!