放課後Pythonラボ 第1時限目 初めての動かすプログラム

はじめまして、森山と申します。

私は少し前までプログラムは書けないし読めない初心者で、2024年12月に初めてPythonに触れました。それでも、4か月後には「Python 3 エンジニア認定実践試験」に合格することが出来ました。コツは、普段の考え方を少し「プログラム脳」に寄せること。

考え方を変えるだけで難しく見えていたものが簡単に見える事ってありますよね?プログラムも同じ。

このコラムでは、『ハイスクールPython』の理解が深まるように、内容に沿いつつ考え方なども解説していきたいと思っています。

プログラミングは理系じゃなくても大丈夫

「プログラミングは理系だけ」と思っている人がいるかも知れませんが大丈夫。私自身は高校時代、普通科の芸術コースで、隣のクラスが数学をやっている時間は美術の授業でした。

Pythonの学習と並行して、必要な数学要素も少し学び直しましたが、「ものごとを分解して手順化する」考え方が身につけば、文系でも問題なくプログラムを書けます。


Pythonって何?

マシン語と呼ばれるコンピューターが直接理解する0と1で書かれた言語があります。例えば 「A」は「01000001」と書くのですが、こんなのを人間が読んだり書いたりするのは大変ですよね。そこで人間が理解しやすくするためにプログラミング言語が誕生しました。

そんなプログラミング言語のひとつがPythonです。Pythonは読み書きしやすく、学び始めやすいのが特長です。

プログラミング言語にはそれぞれ得意分野があって、Pythonはデータ処理・AIとの連携などが得意な言語で、他にも簡単なゲームやデスクトップアプリなども作れます。

ChatGPTやGeminiなどの生成AIも、データを整えたり結果をまとめたりするのに実は裏側ではPythonが動いていたりする事も良くあります。


ソースコードって何?

聞き慣れないと思いますが、コード(ソースコード)というのはコンピューターへの命令文のこと。

例:print(“Hello, World!”)

というような書き方をします。

例えば文化祭で劇をやる時に、登場人物のセリフや動きが書かれた台本を作りますよね?

「主人公、舞台の中央に出てきて、大きな声で『わー!』と叫ぶ。」

こんな風に、役者さんがどう動いて、どんなセリフを言うか細かく書いたものが台本です。

これと同じように、コンピュータにやってほしいことを人間がわかる言葉で書いたものを「ソースコード」と言います。

プログラミング言語によってそれぞれ書き方のルールは違いますが、コンピュータに指示を出すための台本と言う部分は同じです。


プログラミングって何?

ゲームをする時にコントローラーで「→」を押すとキャラクターが右へ進みますよね。これは「右ボタンが押されたら、位置を右へ1つ動かす」という手順(命令の並び)が裏で働いているから。
この“手順のメモ”の事をプログラムと言います。


プログラムの動き方「入力→処理→出力」とは?

「入力→処理→出力」というのは、プログラムが実行される流れの事で、受け取る(入力)→ 決める(処理)→ 返す(出力) という順番で動いています。

  • 受け取る(入力):点数・ボタン・文章などの情報を受け取ります
  • 決める(処理):条件に当てはめて判断したり、計算したりします
  • 返す(出力):画面に表示したり、音を鳴らしたり、結果を戻したりします

例:

name = input("あなたの名前は?:")
print(f"Hello,{name}さん!")

というプログラムの場合

1、受け取る(入力):

ユーザーからキーボードで打ち込まれた文字列を入力値として受け取ります。

2、決める(処理)

print という命令を受け取ると、「受け取った文字列を画面に表示する」と判断し、実行の準備をします。

3、返す(出力)

1で受け取った文字列をprint文の中に入れて、画面に表示します。

※フォーマット文字列(f”{…}”)とは、先頭に f を付けて文字列中の {} に変数や計算式を書き、その結果を差し込む事のできる便利な書き方です。

このように、たった一行のソースコードにも、プログラムを動かすための大切なルールや情報が詰まっています。プログラミングは、この3つのステップをどう組み合わせるかを考えるという事で、例えば下記のような感じ。

  • 60点以上ならゲームしてもOK
    受け取る=点数/決める=60以上か判定/返す=OKかNGか表示
  • 定期の残高でバスに乗れる?
    受け取る=残高/決める=運賃以上か判定/返す=乗れる・乗れない
  • 部活の出欠集計
    受け取る=返信/決める=人数を数える/返す=参加者リスト

これがプログラムの基本的な考え方で、それぞれ分解して考えていくようなイメージです。


まずは動かしてみる

プログラムは最初からルールばかり読んでいても楽しくないので、何て書いてあるかよくわからないけと一旦動かしてみる!というのが大事。Pythonを動かすには「環境」という準備が必要ですが、ハイスクールPythonでも紹介されているGoogle ColabならブラウザでOK、インストールしなくてPythonを動かすことが出来ます。

ログインしたら、下のコードをノートに貼り付け、左側にある▶(再生)を押してみてください。

import random
fortune = random.choice(["大吉", "中吉", "吉", "小吉"])
print(f"今日のあなたの運勢は{fortune}です")

日本語の文章は出て来ましたか?

これであなたは「プログラムを実行した事のある高校生」です。これは周りのクラスメイトや部員にもまだ居ないかもしれない凄い事です。

上手く文章が表示されたら、もう一度▶(再生)を押してみてください。

さっきと違う結果が出るか同じ結果になるか、どっちでしょうか。
何度か実行(再生)したら今度は、思い切ってコードの中身をいじってみましょう。

何て書いてあるかわからない状態でも大丈夫!

ワードを増やしたり、減らしてみたり、少しずついじりつつ結果を確かめてみてください。
動かなくなったら、このコードをもう一度コピペすれば良いだけなので、コードの中のどの部分が表示されているのか想像しながら色々試してみてください。

色々試してみたら、今度は順番を変えてみてください。どこを変えると動かなくなって、どこは変えても影響なく動くのか、トライ&エラーを繰り返していく内に、幾つかのルールに気付いてくるばず。

答え合わせをしたい場合は、ハイスクールPythonの1-Ex.2や5.1などを見てみてください。

慣れない内は難しい事が書かれているように見えるかも知れませんが、実際にコードを触ってから見ると、理解がしやすくなっていると思います。

初心者がやりがちな失敗は、教材を見ながら自分でプログラムを0から書く事。

このやり方はオススメしません。それは何故か、実はプログラムは1文字違うだけで動かないことが良くあります。カンマやカッコが片方ないだけで動かないんです。

でも何処が間違っているかわからなくて何度も見返したり、書き直したり無駄な時間を使ってしまいます。なので、今回は“確実に動くコード”を土台に、少し変えてみる というのをやりながら、Pythonってちょっと楽しいかもと感じてみてください。

今回のコードはどんな事が書いてあったのか、それは次回以降Pythonの書き方のルールについて紹介していく中で解説していきたいと思います。

最後までお読みいただき、ありがとうございました。
少しでもプログラミングって楽しいかもと思ってもらえたら嬉しいです。

それではまた次回お会いしましょう!

PAGE TOP