私には、今年小学校に上がる息子がいます。
その息子にどうしてもプログラミングを学んで欲しく思っているのですがなかなか世に普及している教材では、理解してくれませんでした。
そこで、親子で共に学べる方法を考え、算数の計算問題とPythonの基礎を融合させた記事を書いてみました。
親子で見ていただいて、お子さんがよくわからない部分を教えてあげるような形で取り組んでいただければと思います。
今回は、小学校1年生で習う『足し算と引き算』に焦点を当てて、そこから四則演算、print()関数、変数、str型、int型についての解説もしていきます。
- Pythonとは?
- お子さん向けの足し算と引き算についての説明
- Pythonを使った『数』の足し算と引き算
- Pythonを使った『文字』の足し算
- 1~10までの足し算と引き算の問題を作ろう(ワークを買うのはやめましょう)
- まとめ

今回、コードはGoogle Colabを使用して書いています。
他のIDE(VS codeなど)を使用した場合、うまく実行できるか分かりませんので、Google Colabを使用してコードを書いてみてください。


Pythonとは?


Pythonとはそもそも何?
Python(パイソン)とは、世界中で多くの人に使われているプログラミング言語の一つです。
Pythonを使えば、簡単な計算から始めて、ウェブサイトを作ったり、データを分析したり、アプリを作ったりと、たくさんのことができるようになります。
また、世界中でたくさんの人がPythonを使っているので、インターネットにはPythonで困ったときに助けてくれる情報や教材が多くあり、勉強をしやすいです。
なぜPythonを使って計算するのか?
現在、科学や技術の教育が非常に重視されており、その中でプログラミング学習の重要性が高まり、将来のために非常に役立つスキルと見なされています。
Pythonというプログラミング言語は、初めて学ぶ方にも非常に分かりやすい特徴を持っています。Pythonを使って算数の問題を解くことで、子供たちは楽しく学びながら、論理的な思考力も同時に養うことができます。例えば、足し算や引き算をプログラミングを通して行うことで、ただ計算するだけじゃなくて、問題をどう解決するかを考える力も鍛えられます。
また、早い時期からプログラミングに触れることは、子供たちが将来、新しい技術に対応するための基盤を築くことにもつながります。技術の進歩に対応する柔軟性を持つことは、今後の社会で非常に重要になります。
これらの理由から、私は、Pythonを使った計算教育は、小学1年生にとって単に算数スキルを向上させるだけでなく、将来のキャリアや生活における重要な技術的および論理的思考スキルを養うための有効な手段となると考えています。
Pythonのインストール方法
Pythonを使用するためには、コードを書いていくためのツールが必要です。
一番簡単な導入方法として、『Google Colaboratory』を利用することです。
Google Colaboratory(グーグル コラボラトリー)は、Google が提供しているクラウドベースの統合開発環境(IDE)です。Webブラウザ上で Python やその他のプログラミング言語を実行することができます。
インターネットブラウザからアクセスできるので、特別なソフトウェアのインストールは必要ありません。
Googleアカウントがあれば誰でも無料で利用開始できます。
初心者の方々にとって、『無料で使える』、『環境構築の複雑さがなく、すぐにコーディングを始められる』という大きなメリットがあります。
下記の記事で、Pythonの導入方法について詳しく書いておりますので参考にしてみてください。


お子さん向けての足し算と引き算の解説


足し算と引き算について、お子さんに説明するとそもそも『足す』とか『引く』という言葉の意味が分からないのでなかなか前に進めないと思います。
そのために簡単な足し算と引き算のアニメーションを用意したのでご覧ください。
お子さんに向けた『足し算』解説
足し算とは、2つ以上の数を合わせることです。
アニメーションのように、3つのアメと2つのアメを合わせると、合計で5つのアメになります。
お子さんに向けた『引き算』解説
引き算は、ある数から別の数を取り除いて、その残りの数を求める計算です。
アニメーションの様に、3つのアメから2つのアメをとると、合計で1つとなります。
今回は、Google Colaboratoryを使用して、Pythonで足し算をしていきます。
Pythonで『数』の足し算と引き算をしてみましょう!!


Google Colaboratoryでコードを書くためのファイル作成
画面左上の『ファイル』 → 『ノートブックを新規作成』でファイルを作成することができます。




足し算のコード
例えば、2 + 3 = 5 という計算式があります。この計算をpythonでする場合、
a = 2
b = 3
c = a + b
print(c)
というコードで記載されます。
順に説明していきましょう。


- まず、『a』という名前の箱があり、その中に2つのアメが入っています。
- 次に、『b』という名前の別の箱があって、そこには3つのアメが入っています。
- 今、私たちがやりたいことは、これらの箱の中のアメを全部足し合わせることです。
- コンピュータに、『c』という新しい箱を作ってもらいます。そして、『そこに合計のアメの数を入れてほしい』と命令します。
- それが c = a + b という行で、2つのアメと3つのアメを合わせています。
- 最後に、print(c) と書くことで、コンピュータが『c』の箱の中を見て、『ここには5つのアメがあるよ』と教えてくれます。


この結果は『5』と表示されます。
引き算のコード
例えば、5 -3 = 2という計算式があります。この計算をpythonでする場合、
a = 5
b = 3
c = a - b
print(c)
というコードで記載されます。
順に説明していきましょう。


- まず、『a』という名前の箱があり、その中に5つのアメが入っています。
- 次に、『b』という名前の別の箱があって、そこには3つのアメが入っています。
- 今、私たちがやりたいことは、「a」の箱から「b」の箱のアメを引くこと。つまり、「a」の箱の5つのアメから、「b」の箱の3つのアメを取り除くことです。
- コンピュータには、「c」という新しい箱を作ってもらいます。
- それが、c = a – bという行で、5つのアメから3つを取り除きます。
- 最後に、print(c)と書くことで、コンピュータが「c」の箱の中を見て、「ここには2つのアメがあるよ」と教えてくれます


この結果は『2』と表示されます。
ここで押さえておくポイント
print() 関数の使い方


- print() 関数は、カッコ
()
の中に表示したいものを書きます。 - 文字を表示させたい場合は、ダブルクォート
" "
またはシングルクォート' '
の中にその文字を書きます。例えば、print("こんにちは")
と書くと、画面に「こんにちは」と表示されます。 - 数字を表示させたい場合は、カッコの中にその数字を直接書きます。例えば、
print(123)
と書くと、画面に数字の「123」が表示されます。 - 複数のものを一緒に表示させたい場合は、カンマ
,
で区切って書きます。例えば、print("答えは", 5)
と書くと、「答えは 5」と表示されます。
Pythonを使った『文字』の足し算


Pythonを使った『文字』の足し算
pythonでは、数値だけではなく、文字を足し算(結合)することもできます。
例えば、『チョコ』という文字と『バナナ』という文字をpythonで計算してみましょう。
a = 'チョコ'
b = 'バナナ'
c = a + b
print(c)


上記のように、2つの文字を並べると、「チョコバナナ」という1つの長い文字になります。
pythonでは『’ ‘』(シングルクォーテーション)で囲んだ中身は文字として扱われます。
例えば、『’ ‘』で囲った数値で足し算をするとどのような結果になるでしょうか?
a = '2'
b = '3'
c = a + b
print(c)
実行結果は5ではなく、『23』になります。これは、『’ ‘』で囲うことで数値が文字として扱われているからです。


Pythonでの足し算のルール
- Pythonでは、数値と文字列は、全く異なる種類のデータです。数値は、数字を表すデータで、文字列は、文字の並びを表すデータです。そのため、数値と文字列を直接足すことはできません。
例えば、次のコードは、エラーになります。
a = 1
b = '2'
c = a + b
print(a + b)
このコードは、1と「2」を足し算しようとしています。しかし、1は数値で、「2」は文字列なので、足し算できません。
Pythonで数値と文字列を足し算するには、次の方法があります。
- 文字列を数値に変換する
- 数値を文字列に変換する
文字列を数値に変換する(int関数)
文字列を数値に変換するには、int()関数またはfloat()関数を使用します。
int()関数は、文字列を整数に変換します。
float()関数は、文字列を浮動小数点数に変換します。
例えば、次のコードは、文字列 ‘2’ を整数に変換して足し算をするコードです。
a = 1
b = int('2')
c = a + b
print(a + b)


実行結果は、文字列である ‘2’ を整数に変換したので、1 + 2 = 3となります。
数値を文字列に変換する(str関数)
数値を文字列に変換するには、str()関数を使用します。
例えば、次のコードは整数1を文字列に変換して、足し算をするコードです。
a =str(1)
b = '2'
c = a + b
print(a + b)


実行結果は、数値である1を文字列の ‘1’ に変換したので、’1′ と ‘2’ が並べられ、『12』となります。
1~10までの足し算と引き算の問題を作ろう


小学1年生では、1〜10までの数を使った『足し算』と『引き算』の計算問題が出てきます。
市販のワークを買ってやるのも良いですが、すぐに終わってしまうのが難点です。
Pythonを使って計算問題を自分で作成すれば、必要なだけ問題を作成することができます。また、問題の難易度や出題範囲を自由に設定できるので、お子さんのレベルや目的に合わせて問題を作成することができます。
足し算の計算問題をランダムで生成するコード
1から9までの数字を使用して足し算の計算問題を作っていきます。ただし、同じ数字のペア(たとえば3 + 5と5 + 3)は異なる問題としてカウントしていきます。
import random
# 81個の足し算問題をランダムに生成
problems = []
for _ in range(81):
num1 = random.randint(1, 9)
num2 = random.randint(1, 9)
problem = f"{num1} + {num2} = "
problems.append(problem)
# 問題をランダムにシャッフル
random.shuffle(problems)
!pip install reportlab #PDFの生成にはreportlabライブラリを使用します
#以下のコードを使用して問題をPDFファイルに保存します。
from reportlab.pdfgen import canvas
from reportlab.lib.pagesizes import letter
# PDFファイルを作成
c = canvas.Canvas("math_problems.pdf", pagesize=letter)
width, height = letter # レターサイズのページ
# 問題をPDFに書き込む
x, y = 50, height - 50 # 開始位置
for problem in problems:
c.drawString(x, y, problem)
y -= 20 # 次の行へ
if y < 40:
c.showPage()
y = height - 50
c.save()
以上のコードをコピーして、Google Colaboratoryに貼り付けて実行してみてください。
下記のような、足し算が羅列されたファイルがPDF形式で作成されます。


引き算の計算問題をランダムで生成するコード
1から9までの数字を使用して答えがマイナスにならないようなすべての引き算の組み合わせの計算問題を作っていきます。
!pip install fpdf #fpdfライブラリをインストールする
import random
import fpdf
# 1から9までの数で答えがマイナスにならない引き算の組み合わせを生成
subtraction_problems = []
for i in range(1, 10):
for j in range(1, 10):
if i >= j:
subtraction_problems.append(f"{i} - {j} = ")
# 問題をランダムに並べ替える
random.shuffle(subtraction_problems)
# PDFファイルを作成
pdf = fpdf.FPDF(format='letter')
pdf.add_page()
pdf.set_font("Arial", size=12)
# PDFに問題を追加
for problem in subtraction_problems:
pdf.cell(40, 10, problem, ln=True)
# PDFファイルを保存
pdf.output("subtraction_problems.pdf")
以上のコードをコピーして、Google Colaboratoryに貼り付けて実行してみてください。
下記の様な、引き算が羅列されたファイルがPDF形式で作成されます。


pythonで生成したファイルのダウンロード方法
作成された足し算のPDFファイルを例にして解説していきます。コードの実行が完了すると、『math_problems.pdf』という名前のファイルが自動的に Google Drive に保存されます。左サイドバーのファイルマーク をクリックすると、作成されたファイルが表示されます。


目的のファイル(math_problems.pdf)にカーソルを合わせ、右クリック → ダウンロードで作成したファイルをダウンロードすることができます。




まとめ
今回は、pythonを使用した四則演算の中の『足し算』と『引き算』について学んでいきました。お子さんにプログラミングがどういうもので、どういったことができるものなのか知ってもらえる第一歩になれば良いと考え、この記事を書きました。大人もプログラミングに興味があっても、なかなか独学で始めるのはハードルが高く感じてしまう方が多くいると思います。この記事を通じて、親子でプログラミングの世界に足を踏み入れるきっかけになれば幸いです。
コメント