この記事では、Python初学者の方に向けて、計算機の作成方法を解説します。
動作する環境はGUIではなく、CUI(ターミナル)になります。かなり簡易的な処理になりますが、関数や繰り返し構文、条件分岐を使用していますので、実際に手を動かして作成してみることで、Python基礎構文に定着につながると思います。
完成イメージ
PythonプログラムをCUI(ターミナル)で実行し以下の流れで入力と結果を確認できます。
- 1つ目の数字の入力
- 計算符号の選択
- 2つ目の数字の入力
- 計算結果と継続有無の確認
コード実装方法
もっと良いコードの書き方があるかもしれませんが、まずは動くものをというところを優先して作成しています。
# add
def add(n1,n2):
return n1 + n2
# substract
def substract(n1,n2):
return n1 - n2
# multify
def multify(n1,n2):
return n1 * n2
# divide
def divide(n1,n2):
return n1 / n2
def calculate():
first_num=int(input("1つ目の数字は何ですか?: "))
while True:
operation=input("+\n-\n*\n/\n選択してください。: ")
next_num=int(input("2つ目の数字は何ですか?: "))
if operation == '+':
return_num=add(first_num,next_num)
elif operation == '-':
return_num=substract(first_num,next_num)
elif operation == '*':
return_num=multify(first_num,next_num)
elif operation == '/':
return_num=divide(first_num,next_num)
print(f'{first_num} {operation} {next_num} = {return_num}')
is_continue=input(f'{return_num}に続けて計算する場合は "y" を, 新しく計算する場合は "n" を入力してください: ' )
if is_continue=='y':
first_num = return_num
elif is_continue == 'n':
calculate()
calculate()
- 1~15行目で関数を定義しています。符号ごとに計算結果を戻り値として返します。引数に入力される2つの数字を取るように設定します。
- 17行目~Calucurate()の関数でメインの処理を書いています。18行目で1つ目の数字の入力を受け付けます。input関数は文字列になるので、int()で数字に変換しています。
- 18~21行目で符号と2つ目の数字の入力を受け付けます。37行目で’y’が選択された場合にループするようにwhile文を記載します。
- 23~30行目で、if文で条件分岐させ各符号ごとの関数を実行します。
- 32~40行目で計算結果の表示をして、計算を続けるか確認します。’y’の場合は、1つ目の数字に計算結果を代入し、while文の先頭(符号の選択)に戻るようにします。’n’の場合は、自身の関数を再実行し、関数の先頭(1つ目の数字入力)に戻して処理を繰り返します。
プログラミング初学者のうちは、たくさんアウトプットして構文を定着させることが大事だと思います。すべてを暗記する必要はなく、日々の業務でもネットで調べながら業務を進めるので、完璧にやろうとせず、どんどんアウトプットしていくことが効率的です。
Python初学者の方も、計算機を作成してみてぜひ学習を頑張ってください!