初心者のためのPythonプログラミング入門講座(第7回:QRコードみたいな模様をかいてみよう)

どうも、こんにちは、だんなです。

2020年、プログラミング教育が小学校で必修化されることもあり、 本業システムエンジニアのだんなが息子に簡単なプログラミング(Python:パイソン)を教えてみる入門講座の第7回になります。

前回に引き続き、小学生の息子が実際にプログラミングを実践してみて、疑問に思った感じたところをブログ記事に残していきますので、今から子供にプログラミングを教えたい、親子で一緒に学んでみたい方なら誰にでもお勧めの入門教材になると思います。

誰に向けての記事なのか
  • 簡単なプログラミングを体験してみたい方
  • 今までプログラミングをやったことのない初心者の方
記事の内容は何か
  • プログラミング言語Python[パイソン]を使って簡単なプログラムを実行
  • 画面やキーボード操作がわかりにくい場合は、Youtube動画を見て確認
  • 疑問点があれば、コメントやtwitterに書いてくれればお答えします
記事を読むメリットは何か
  • このサイト(あゆすた)をパソコンで見ている方ならそのまま実行可能
  • ブラウザだけで実行可能なので、難しいインストール作業などの準備は不要

本業のシステムエンジニアの皆さんがプログラミングをする場合には、いろいろ面倒な準備が必要だったりするのですが、このプログラミング入門講座では「簡単に」「無料で」プログラム実行できます。

実行手順は以下の3点だけです。

プログラム実行までの手順

入門教材① プログラミングを実行する画面を開く
入門教材② プログラムを書く(第7回ではQRコードみたいな模様をかいてみます)
入門教材③ 実行ボタンを押す

それでは、さっそく進めていきましょう!

QRコードって何に使われてる模様なの?

だんな
だんな

息子くん、QRコードって知ってるかい?

むすこ
むすこ

知ってるよ!LINEで友だちを追加するときに使うんでしょ?

だんな
だんな

そうだね、それ以外にもサイトのURLを知らせたり、今話題の「スマホ決済」などいろいろな用途で使われているよ。

QRコード(キューアールコード)は、1994年(平成6年)に自動車部品メーカーであるデンソー(愛知県)の開発部門(現在は分離しデンソーウェーブ)が発明したマトリックス型二次元コードである。

「QR」は Quick Response の頭字語であり、高速読み取りを目的の1つとしている名称である。「QRコード」はデンソーウェーブの登録商標(第4075066号)である。

トヨタ生産方式「カンバン」(ジャストインタイム生産システム)において、自動車部品工場や配送センター等での利用を念頭に開発された。しかし、誤り検出訂正の能力が高く、また、オープンソースとされたことから、トヨタのサプライチェーンの範囲から飛び出して独り歩きを始め、現在では日本に限らず世界に広く普及している。例えば、発明時には民間においてインターネットおよびスマートフォンが普及していなかったが、それらを用いる「QR決済」が現在、国によっては主要な電子決済の地位を占めるようになっており、発明から四半世紀経ってフィンテックを支える技術の1つとなっている。日本国内では、テレビ局が放送画面上にQRコードを提示して、自らのメディアであるテレビ放送とは異なるメディアのインターネットに誘う手法、あるいは、雑誌などの紙媒体にQRコードを提示してインターネットに誘う手法もしばしば見られ、旧来のメディアと新しいメディアのインターネットとの融合に用いられる例も多い。

出典: フリー百科事典『ウィキペディア(Wikipedia)』
むすこ
むすこ

いきなり話ムズすぎるって・・・。ブログ見てくれる人、減っちゃうよ。。

入門教材① プログラミングを実行する画面を開く

プログラミングを実行する画面を開きます。本当にめちゃくちゃ簡単です。
以下のリンクをクリックして下さい。

codingground SIMPLY EASY CODING [python]

プログラミングはすごく面白いです。でも、覚えるまではすごく難しいです。すごく簡単なプログラムからでよいので、お父さんお母さんが教えてあげて欲しいと思っています。親子で一緒に学ぶという意味でも、プログラミングはとてもよい教材です。

codingground(コーディンググラウンド)という無料プログラム実行サイトが開きます。
上の画像のような画面が出てくれば準備完了です!

※ サイトが重くて動かない場合は、以下のサイトを使って下さい。

Online Python 3 IDE

子供にも自宅で楽しく好きなようにプログラミングを学んで欲しい、スクラッチ(Scratch)以外のプログラム言語にも触れる機会を与えたい、という希望がありました。pythonなど流行りの言語で自宅で息子専用のプログラミング講座を開いて、親子で楽しんでしまおう!!

入門教材② プログラムを書く(第7回ではQRコードみたいな模様をかいてみます)

次にプログラムを書いていきましょう。
パソコンのキーボードを使って、画面左側にプログラムを書いていきます。

第7回は、Python[パイソン]というプログラミング言語を使って、QRコードみたいな模様をかいてみます。

プログラミングはすごく面白いです。でも、覚えるまではすごく難しいです。すごく簡単なプログラムからでよいので、お父さんお母さんが教えてあげて欲しいと思っています。親子で一緒に学ぶという意味でも、プログラミングはとてもよい教材です。

画面の左側に、上の画像と同じ7行のプログラムを書いてみて下さい。
実行すると、QRコードみたいな模様をかいてくれるプログラムです。

むすこ
むすこ

お父さん、お父さん、
 gyo+=
って部分、変だよ、何か間違えてない?

だんな
だんな

確かにおかしな書き方に見えるかもね。でも、これで正しくて、
 gyo+=○○
と書くと、もともとgyoに入ってた数字(または文字)に○○を加え(つなげ)なさい、という命令になるんだよ。

だんな
だんな

さて、問題です。
 x=1
 x+=1
 print(x)
何と表示されるでしょうか?

むすこ
むすこ

2 か 11 だと思う。

だんな
だんな

するどいねぇ~。この場合は、数字を足す命令になって
 1 + 1 = 2
が表示されるよ。

だんな
だんな

じゃあ、
 x=”1″
 x+=”1″
 print(x)
これは何と表示されるでしょうか?

むすこ
むすこ

これが 11 になるのかな。

だんな
だんな

正解!この場合は、文字をつなげる命令になって
 ”1″ つなぐ “1” → “11
が表示されるよ。

書き方がわかんね~、という場合は、以下の動画を参考にしてみて下さい。
(質問があればコメントをお願いします。)

左側に7行のプログラムが書き終わって、以下のような状態になれば完成です。

子供にも自宅で楽しく好きなようにプログラミングを学んで欲しい、スクラッチ(Scratch)以外のプログラム言語にも触れる機会を与えたい、という希望がありました。pythonなど流行りの言語で自宅で息子専用のプログラミング講座を開いて、親子で楽しんでしまおう!!
だんな
だんな

前回の第6回:遠くまでジャンプしてみようで出てきたインデントって覚えているかな?

むすこ
むすこ

うん、覚えてるよ。右にズレている行のことだよね?

プログラミングはすごく面白いです。でも、覚えるまではすごく難しいです。すごく簡単なプログラムからでよいので、お父さんお母さんが教えてあげて欲しいと思っています。親子で一緒に学ぶという意味でも、プログラミングはとてもよい教材です。
だんな
だんな

そうそう。今回もインデントが大事なプログラムだから、

インデント1つ分は、
・半角スペースキー を4つ
  または、
TAB キーを1つ
押してズラしてね。

むすこ
むすこ

OKズラ!

入門教材③ 実行ボタンを押す

最後に、書き終わったプログラムを実行してみます。
左上にある「Execute」(実行という意味です)のボタンを押してみましょう。

子供にも自宅で楽しく好きなようにプログラミングを学んで欲しい、スクラッチ(Scratch)以外のプログラム言語にも触れる機会を与えたい、という希望がありました。pythonなど流行りの言語で自宅で息子専用のプログラミング講座を開いて、親子で楽しんでしまおう!!

画面右側の「Result」(結果)にQRコードのような白黒の模様が表示されましたか?

何度か 「Execute」(実行)を押しなおしてみてください。
違った模様が表示されれば、今回のプログラムが正しく動作したということです。

プログラミングはすごく面白いです。でも、覚えるまではすごく難しいです。すごく簡単なプログラムからでよいので、お父さんお母さんが教えてあげて欲しいと思っています。親子で一緒に学ぶという意味でも、プログラミングはとてもよい教材です。
むすこ
むすこ

すげぇ!白黒の模様が表示された!でも、QRコードっぽくはないね、特に四隅の部分。

だんな
だんな

まぁ、こまかい部分は見逃してくれよ。(汗)

さて、今回のプログラムの大切なところは、forフォー)「繰り返し実行しなさい。」という命令が2ヶ所に書いてある、ってことなんだ。

子供にも自宅で楽しく好きなようにプログラミングを学んで欲しい、スクラッチ(Scratch)以外のプログラム言語にも触れる機会を与えたい、という希望がありました。pythonなど流行りの言語で自宅で息子専用のプログラミング講座を開いて、親子で楽しんでしまおう!!
だんな
だんな

赤い部分のforが横向きxの模様を20回繰り返し、緑の部分のforが縦向きyの模様を20回繰り返すことで、こんな感じの模様が・・・

むすこ
むすこ

えいっ「Execute」(実行)!
えいっ「Execute」(実行)!
えいっ「Execute」(実行)!
えいっ「Execute」(実行)!
えいっ「Execute」(実行)!

見て見て~!お父さん、連打すると模様が動いて面白いよ~~

だんな
だんな

ま、まぁ・・・、難しい話はいいか。楽しく学ぶのが一番だ。。。

むすこ
むすこ

xが横向きで、yが縦向きってことはわかったよ。ってことは、
 for y in range(20):
 for x in range(20):
この数字を変えると、形が変わるのかな?

だんな
だんな

なんだ、わかってくれてるじゃ~ん。そうそう、数字を変えてみてごらん。

むすこ
むすこ

ためしに、100100に変えてみよう。うぉぉぉ、デカくなって気持ち悪くなった・・・
 moji=[“■”,”□”]
の記号も書き換えられそうだね。

(moji=[“●”,”○”]、 moji=[“1″,”0”]、 moji=[“木”,”本”]、などに書き換えて試す息子。)

むすこ
むすこ

めっちゃ面白いね!このプログラム。

だんな
だんな

mojiの中身は2種類じゃなくても正しく動くから、
moji=[“■”,”□”,”▲”,”△”,”◎”]
なんかに書き換えてみても面白いよ。

どうでしたか?プログラムはうまく動いたでしょうか?

もし、うまく動かずに英語がたくさん表示された場合は、プログラムのどこかが間違っていて、これを「エラー」と呼びます。エラーの画面は、第1回:計算機を作ろうを参考にしてください。

簡単で楽しい!と思った人、やっぱり面倒くさいんだなと思った人、いろいろだと思いますが、プログラミングを仕事にしている人はこういう事をやっているんですよね。(仕事のプログラミングはもっともっと複雑でたくさんの行数を書きます。)

次回の講座では、文字を操作するプログラムでなぜそのような動作をするのかを解説しようと思っています。お楽しみに!

以上、だんなの「初心者のためのPythonプログラミング入門講座」でした。

おすすめの入門書籍・入門教材

プログラミング入門
シェアする
だんなをフォローする


あゆすた