概要
以前Pythonで作成し、他の方からのアドバイスのお陰でCLIの関数電卓的なものが一応完成しました。
以下のものがソースコードとなっております。
ソースコードの内容
cli_calc.py
import math
def title():
print("------------")
print("|Calcurator|")
print("------------")
def begin():
global first_num
global second_num
global calc
print("-----------------------------------------------------------------------------------")
print("|記号(足し算:+,引き算:-,掛け算:*,割り算:/,剰余無し割り算://,剰余:%,累乗:**) |")
print("|記号(円:pi,対数:log2,平方根:sqrtと入力,sin:sinと入力,cos:cosと入力,tan:tanと入力)|")
print("-----------------------------------------------------------------------------------")
first_num=int(input('1つ目:数値入力>>'))
calc=input('記号>>')
if calc=='pi' or calc=='log2' or calc=='sqrt' or calc=='sin' or calc=='cos' or calc=='tan':
second_num=None
else:
second_num=int(input('2つ目:数値入力>>'))
def sum():
print(first_num+second_num)
def minus():
print(first_num-second_num)
def inc():
print(first_num*second_num)
def div():
print(first_num/second_num)
def div2():
print(first_num//second_num)
def joe():
print(first_num**second_num)
def extra():
print(first_num%second_num)
def circle():
print(round(math.pi**first_num,2))
def bottom():
print((math.log2(first_num)))
def sqrt():
print((math.sqrt(first_num)))
def sin():
print(round(math.sin(math.radians(first_num))))
def cos():
print(round(math.cos(math.radians(first_num))))
def tan():
print(math.tan(math.radians(first_num)))
title()
while True:
begin()
if calc=='+':
sum()
elif calc=='-':
minus()
elif calc=='*':
inc()
elif calc=='/':
div()
elif calc=='//':
div2()
elif calc=='**':
joe()
elif calc=='%':
extra()
elif calc=='pi':
circle()
elif calc=='log2':
bottom()
elif calc=='sqrt':
sqrt()
elif calc=='sin':
sin()
elif calc=='cos':
cos()
elif calc=='tan':
tan()
実行結果
まとめ
ハッキリ言ってまだ詰めの甘いプログラムなんじゃないかと思いますが、なんとか形にしてみました。
グローバル関数の所や演算を行っている箇所なんかは、改善の余地ありと言ったところでしょうか。
今後は、よりグラフィカルなものにアップデートできるといいなと思っています。