香織のPython(2)計算プログラム
前回は、環境構築をアップしました。
今回は、いよいよプログラムを書いていく方法について整理していきます。
これまで僕もChatGPTを使って遊びでプログラムを書いたりしてきましたが、参考書を参考にしながら順を追って整理していくと、いろいろな発見があってとても勉強になります。
参考までに、過去のPython関係の記事はこちらです。
それでは今日は、インプレス社のこちらの本を参考にして、ポイントを整理していきたいと思います。
演算子
足し算 +
引き算 -
掛け算 *
割り算 /
割り算の整数部分を出力する //
割り算の余り部分を出力する %
べき乗 **
1.コマンドプロンプトを起動して、カレントフォルダ-のあとに「python」と入力して、Pythonを起動する。
2.>>>のあとに、計算式を入れてEnterすると答えが出力される。
西暦から干支を割り出すプログラム
1.西暦から干支を割り出す方程式
まず、プログラムの基本となる「西暦を干支に変換するための方程式」は以下の通りです。
<西暦から干支を割り出す方程式>
西暦に8年を足した数字を12で割った余りの数字が、干支の順番の番号になる。
これをプログラムで書くと、
干支の番号 = (西暦 + 8) % 12 となります。
2.変数を割り当てる
日本語のままではプログラムに書くことはできませんので、これを英語にして、変数として値が代入できるようにします。
すると以下のようなプログラムになります。
year = 1991
number_of_eto = (year + 8) % 12
print(number_of_eto)
西暦をyear として、干支の番号をnumber_of_eto とし、
year(西暦)に1991年を代入して、
方程式の結果を、number_of_eto(干支の番号)に代入し、
print関数で、number_of_eto(干支の番号)を表示します。
あとは、この干支の番号を「干支の名前と番号のリスト」で参照して干支の名前を表示するようにすれば良いわけです。
3.input関数
上のプログラムでは、西暦の数字が1991として記載されていますが、実際には、色々な数字を入力したいわけで、その場合にinput関数を使用します。
ただし、input関数で入力されたデータは文字列として扱われるため「型変換」を行って、文字列型(str)を数値(int)に変換する必要があります。
<型変換を行う主な関数>
int() 整数型 ※小数点のない数値
float() 浮動小数点数型 ※小数点を含む数値
str() 文字列型 ※文字を「’」か「”」で囲む
質問を投げかけて入力を促し、干支の番号を出力するプログラムは以下のとおりです。
year_str = input('生まれた年を西暦4桁で入力してください: ')
year = int(year_str)
number_of_eto = (year + 8) % 12
print(number_of_eto)
「'」で文字を囲んで input関数に入れて、その値をyear_str という変数に代入します。
代入された値は文字列型なのでint関数で数値に買えてyearという変数に代入します。
するとインプットされた数字が数値として認識されて、計算ができるようになります。
このプログラムをVisual Studio Codeで、新しいファイルを作成して、そこに記述し、ファイル名をつけて保存します。
ここでは、eto_input.py というファイル名にしました。
4.コマンドプロンプトで実行する
cdコマンドで、ファイルの保存してあるフォルダに移動し、そこで
python eto_input.py と入力すると、質問が表示され、1991と入力すると、7という干支の番号が出力されました。
5.リスト型(list)でデータを格納(データを追加/削除できる)
(1)データをカンマで区切って[ ]で囲み、listを作成する。
(2)作成したlistを変数に代入する(ここでは、eto_listという変数に代入した)
(3)listに格納したデータには、0から順番に番号がつけられる
(4)データの参照は、[ ]で囲む
eto_name = eto_list[3] と、「3」を指定すると、
0からかぞえて4番目の「卯」が変数「eto_name」に代入される。
(5)listには、文字列方、整数型、浮動小数点数型など異なるデータが格納できる。
(6)list型で作ったlistは、あとからデータを追加/削除ができる。
●追加:append()メソッド
●削除:remove()メソッド
year_str = input('生まれた年を西暦4桁で入力してください: ')
year = int(year_str)
number_of_eto = (year + 8) % 12
print(number_of_eto)
eto_list = ['子', '丑', '寅', '卯', '辰', '巳', '午', '未', '申', '酉', '戌', '亥']
eto_name = eto_list[number_of_eto]
print('あなたの干支は', eto_name, 'です。 ')
6.タプル型(tuple)でデータを格納(データ追加/削除できない)
(1)データをカンマで区切って( )で囲み、tupleを作成する。
(2)作成したtupleを変数に代入する(ここでは、eto_tupleという変数に代入した)
(3)listに格納したデータには、0から順番に番号がつけられる
(4)データの参照は、[ ]で囲む
eto_name = eto_tuple[3] と、「3」を指定すると、
0からかぞえて4番目の「卯」が変数「eto_name」に代入される。
(5)tupleには、文字列方、整数型、浮動小数点数型など異なるデータが格納できる。
(6)tuple型で作ったtupleには、データを追加/削除できない。
year_str = input('生まれた年を西暦4桁で入力してください: ')
year = int(year_str)
number_of_eto = (year + 8) % 12
print(number_of_eto)
eto_tuple = ('子', '丑', '寅', '卯', '辰', '巳', '午', '未', '申', '酉', '戌', '亥')
eto_name = eto_tuple[number_of_eto]
print('あなたの干支は', eto_name, 'です。 ')
このページの画像は、Stable Diffusionで作成しました。
興味のある方は下記をご覧ください。
MODEL:yayoiMix_v131
AIモデル:加藤香織