小学6年生の長男が夏休みの自由研究にPythonを勉強したいというので付き合ってみました。
どこから手を付けていけばわからないので、いくつか課題を出し、それを実現するコードを一緒に書くということを繰り返しました。
この記事では、「課題2 掛け算九九」について扱います。その他の課題については下記の記事をご覧ください。
- 夏休みなので小学生とPythonを勉強してみた - 課題1 FizzBuzz - Qiita
- 夏休みなので小学生とPythonを勉強してみた - 課題3 掛け算ゲーム - Qiita
- 夏休みなので小学生とPythonを勉強してみた - 課題4 じゃんけん - Qiita
- 夏休みなので小学生とPythonを勉強してみた - 課題5 サイコロの目の出る確率 - Qiita
- 夏休みなので小学生とPythonを勉強してみた - 課題6 写真の整理 - Qiita
- 夏休みなので小学生とPythonを勉強してみた - 課題7 掛け算ゲームWeb版 - Qiita
- 夏休みなので小学生とPythonを勉強してみた - 課題8 掲示板 - Qiita
- 夏休みなので小学生とPythonを勉強してみた - 課題9 顔の検出 - Qiita
- 夏休みなので小学生とPythonを勉強してみた - 課題10 顔の認識 - Qiita
コードはGitHubにて公開しています。
課題2-1 掛け算九九を表示する
指示
掛け算九九を順番に表示するプログラムを作りましょう。
ヒント
「フォーマット済み文字リテラル」を使うとprintの出力を見やすくフォーマットできます。
回答例
for i in range(1, 10):
for j in range(1, 10):
print(f'{i} * {j} = {i * j}')
実行例
1 * 1 = 1
1 * 2 = 2
1 * 3 = 3
1 * 4 = 4
1 * 5 = 5
1 * 6 = 6
1 * 7 = 7
1 * 8 = 8
1 * 9 = 9
2 * 1 = 2
途中省略
9 * 5 = 45
9 * 6 = 54
9 * 7 = 63
9 * 8 = 72
9 * 9 = 81
課題2-2 掛け算九九の表を表示する
指示
掛け算九九の表を順番に表示するプログラムを作りましょう。
ヒント
print関数の出力で改行させないようにするには、endを指定します。
回答例
for i in range(1, 10):
for j in range(1, 10):
print(f'{i * j:2}', end=' ')
print()
実行例
1 2 3 4 5 6 7 8 9
2 4 6 8 10 12 14 16 18
3 6 9 12 15 18 21 24 27
4 8 12 16 20 24 28 32 36
5 10 15 20 25 30 35 40 45
6 12 18 24 30 36 42 48 54
7 14 21 28 35 42 49 56 63
8 16 24 32 40 48 56 64 72
9 18 27 36 45 54 63 72 81