環境構築不要で初心者がPythonを楽しく学ぶ方法

この記事では、インストール不要でブラウザ上から利用できるGoogle Colaboratoryを使った、初心者向けのPython学習方法を解説します。プログラミングは、楽しみながら学ぶことが大切です。そこで、今回は、ビジュアル的にも楽しいタートルグラフィックスを使ったお絵かきプログラムを通して、Pythonの基本を学ぶ方法を紹介します。プログラミング初心者でも直感的に楽しみながら進められると思いますので、ぜひ一緒にPythonを体験してみましょう!
必要なもの(ブラウザ+インターネット回線)
ここでは、Google Colabotoryというブラウザ環境で動くプログラミング環境を使います。ブラウザさえ動けば、すぐにPythonが使えます。インストールなどの難しい作業は全く必要ありません!
必要なもの
- パソコン(ChromeBookでもOK)
- インターネット回線
- Googleのアカウント(なくてもOKだがあった方が良い)
これだけあれば、とりあえずプログラムの学習が開始できます。
Google Colabotoryにアクセスする
以下のボタンをクリックして、Google Colabotory(名前が長いのでGoogle Colabと呼びます)にアクセスしてください。
以下のような画面が表示されるはずです(画面はChromeブラウザです)。

ログインする
Googleのアカウントを持っている場合は、左上の青い「ログイン」ボタンを押して、アカウントでログインしてください。

ボタンを押すとログイン画面が表示されるので、ここにメールアドレスを入れて次へをクリックします。画面が切り替わったらパスワードをいれれば、ログイン完了です。
アカウントを持っていない場合は、ログイン画面の画面下にある「アカウントを作成」をクリックしてアカウントを作成してください。
新規のノートブックを作る
ログインすると、ノートブックを開く画面になります。初回は、下側にある「+ノートブックを新規作成」をクリックしてノートブックを新規作成してください。
次回からは、作成したノートブックが表示されるようになるので、それをクリックして開きます。

以下のような画面が表示されれば、ノートブックの作成は完了です。

とりあえず動かしてみる
ノートブックに以下のコードをコピーして実行してみてください。
print("Hello world.")
実行は、上のコードを入力したあとに横にある ▶️ボタンを押すか、シフトキー+エンターキーを押します。
以下のような画面がでたら正しく動作しています。

Google Colabでは、ノートブックを開いてすぐにPythonのコードを入力することができます。
では、ここから、プログラムをしていきましょう。
お絵描きして遊ぶ
お絵描き
パソコンを使ってプログラムするときに、一番楽しいのは「見える」ことだと思います。ここでは、線画を描いて遊んでみます。
おまじないを入れる
まず、絵を描くためのおまじないです。
以下をノートブックに貼り付けて実行してください
!pip3 install ColabTurtle
import ColabTurtle.Turtle as t
以下のような画面が出ればOKです。

線を引いてみる
とりあえず、線を引いてみましょう。先ほどのコードの下に、以下のコードを入力して実行します。
t.initializeTurtle()
t.forward(100)
亀の絵と、上方向に線が引かれたのではないでしょうか。


環境によって、若干表示が違うかもしれませんが、動いていれば気にしなくてもOKです。
先ほど作成した2行のプログラムを解説します。
まず1行目のt.initializeTurtle()
は、初期化のおまじないです。これを書くと、亀の位置と画面が初期化されます。t
は亀です。t.initializeTurtle()
で亀のinitializeTurtle
関数を実行するという命令になります。
2行目のt.forward(100)
が重要です。forward
は亀を前進させる関数で(100)
の100は引数と呼ばれるものです。t.forward(100)
の意味は、「亀を100前進させる」という意味です。
では、ここを200に書き換えたらどうなるでしょうか? 200に書き換えたプログラムを実行してみました。さっきより亀が前進しているのが分かるかと思います。

このような感じで、forward
を使うことで亀を前進させることができます。
左に回転させる
亀に指示をすることで亀を自由に動かすことができます。つぎに、左に亀を回転させてみましょう。亀を左に回転させるにはleft(角度)
とします。とりあえず、90度回転させてみます。
t.initializeTurtle()
t.forward(200)
t.left(90)
カメが左に向きました

そのまま前進
再び亀を300前進させてみます。
t.initializeTurtle()
t.forward(200)
t.left(90)
t.forward(300)
亀が左に300前進しました

こんな感じで、亀を自由に動かして線を引くことができます。
ここまでが理解できたら、以下の課題をやってみてください。
forward
とleft
を使って、亀を自由に動かしてみましょう。
2つの命令だけで、かなり自由に動かせることが分かったのではないでしょうか。
繰り返しを覚える
今回は、繰り返し(for文)まで覚えましょう。
まず、以下の課題をやってください。
forward
とleft
を使って、1辺が100の正方形を描いてください。描画後は亀は上を向くようにしてください。
以下のようなプログラムになったのではないかと思います。
t.initializeTurtle()
t.forward(100)
t.left(90)
t.forward(100)
t.left(90)
t.forward(100)
t.left(90)
t.forward(100)
t.left(90)
このプログラムでは、以下のような「100進んで左に90度回転」を4回繰り返しています。
t.forward(100)
t.left(90)
4回くらいならいいですが、100回とかだと書くのが面倒です。こういうときは繰り返し文を使います。
for文
繰り返しにはfor文を使います。
N回繰り返す場合は、以下のように書きます。
for i in range(N) :
i
は変数といって、x
でもy
でも自由に名前をつけて良いです。太字の部分は、文法として決まっていますので、上の通りに入力します。
i
には0,1,2,3…N-1と、何回目の繰り返し回数が入っています。
以下のようなプログラムで、i
を表示してみます。print(i)
は、iの中身を表示する関数です。10回繰り返すと0,1,2,3,4,5,6,7,8,9とiが変化していることが分かります。
for i in range(10) :
print(i)

for文の文法で2つ大切な点があります。

1つめはコロン(:)です。for文では、コロンをつけて改行を行います
次にくりかえさえる部分はインデント(字下げ)しなければならないことです。字下げ部分が繰り返しの対象となります。上記の例では、print文2行が繰り返されます。
各行の字下げは揃えてる必要があるので注意してください。
では、このfor文を使って、正方形を書いてみます。亀が回転しながら四角形が書けました
t.initializeTurtle()
for i in range(4) :
t.forward(100)
t.left(90)

同じようにして、以下の課題にもチャレンジしてみてください(解答はページの最後です)
一辺が50の5角形、8角形を書いてみましょう。
角度や移動距離を調整するとこんな綺麗な模様も書くことができますので、チャレンジしてみてください。

便利な関数
興味を持たれた方のために、いくつか関数を紹介しておきます。
関数名 | 説明 |
left(角度) | 角度だけ左に回転 |
right(角度) | 角度だけ右に回転 |
forward(ステップ) | ステップだけ前進 |
back(ステップ) | ステップだけ後退 |
pendown() | ペンを下ろす(動くと線が引かれる) |
penup() | ペンをあげる(動いても線は引かれない) |
color(色) | color("red") 、color("blue") などで色を変更 |
pensize(太さ) | ペンの太さを変を変更 |
まとめ
実は、私自身が初めてプログラミングをしたのが「線画を描く」というプログラムでした。ちゅ学生の頃だったおと思いますが、絵が描かれていくのが楽しくてプログラミングの楽しさを覚えました。
その時を思い出して記事にしてみました。これがきっかけになれば幸いです。
ただ、独学が苦手な方もいるかと思います。そういう方は、プログラミング教室を利用するほうが良いかもしれません。
課題の答え
5角形
t.initializeTurtle()
for i in range(5) :
t.forward(50)
t.left(72)
8角形
t.initializeTurtle()
for i in range(8) :
t.forward(50)
t.left(45)