[Python]九九の表をテキストファイルで出力する

1.何を作るのか

九九(くく)の表が書かれたテキストファイルを出力するプログラムを作ります。また、九九だけではなく、他の数字の表も作れるようにしていきます。

2.作るために必要な機能

・九九の計算を処理する
・計算結果をファイルに出力する
・指定された数字の入力を計算処理に反映する

3.各機能をコードに置き換える

・九九の計算を処理する

for i in range(1, 10):
    for j in range(1, 10):
        print("{} X {} = {}".format(i, j, i * j)
#実行結果
1 X 1 = 1
1 X 2 = 2
1 X 3 = 3
.
省略
.
9 X 7 = 63
9 X 8 = 72
9 X 9 = 81

・計算結果をファイルに出力する

data = "計算結果" #"計算結果"は例です。実際のコードの処理結果を記述してください
with open("result.txt", "w", encoding="utf-8") as f:
    f.write(data)

実行結果(Mac)

上記の2つの機能を1つにまとめる

with open("multication_table[9X9].txt", "w", encoding="utf-8") as f:
    for i in range(1, 10):
        for j in range(1,10):
            #式と結果をdata変数に代入
            data = "{} X {} = {}".format(i, j, i * j)
            #data変数の値に改行コードを加えて、ファイルオブジェクトに書き込み
            f.write(data + "\n")

実行結果(Mac)

・指定された数字の入力を計算処理に反映する

#ユーザーの入力を受け取る
num = int(input("何桁までの掛け算のリストが欲しいですか?:"))
#range関数の値を変数に置き換えて反映する
for i in range(1, num + 1):
        for j in range(1, num + 1):
            print("{} X {} = {}".format(i, j, i * j))
#実行結果
何桁までの掛け算のリストが欲しいですか?:13
1 X 1 = 1
1 X 2 = 2
1 X 3 = 3
1 X 4 = 4
1 X 5 = 5
.
.
.
8 X 7 = 56
8 X 8 = 64
8 X 9 = 72
8 X 10 = 80
8 X 11 = 88
8 X 12 = 96
8 X 13 = 104
.
.
.
13 X 7 = 91
13 X 8 = 104
13 X 9 = 117
13 X 10 = 130
13 X 11 = 143
13 X 12 = 156
13 X 13 = 169

4.最終版

・入力した値がファイル名に反映される
・入力した値が1より小さな値の場合に対応する処理を追加

num = int(input("何桁までの掛け算のリストが欲しいですか?:"))
#1より小さな場合は1を返し、それ以外の場合はそのまま入力された値を返す
mul_tbl_num = 1 if num < 1 else num
file_name = "multication_table[{0}X{0}].txt".format(mul_tbl_num)

with open(file_name, "w", encoding="utf-8") as f:
    for i in range(1, mul_tbl_num + 1):
        for j in range(1, mul_tbl_num + 1):
            data = "{} X {} = {}".format(i, j, i * j)
            f.write(data + "\n")

実行結果(13X13)

デスクトップ画面にテキストファイルが生成される(プログラムをデスクトップ上で実行した時






いいなと思ったら応援しよう!