業界トップクラスの求人数を誇る転職エージェントPR

リクルートグループのコネクションを活かした非公開求人も充実、他にはない好条件の求人と出会える

0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

CUIで関数電卓を作ってみよう

Posted at

概要

 以前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()

実行結果

スクリーンショット 2025-02-12 060439.png

まとめ

 ハッキリ言ってまだ詰めの甘いプログラムなんじゃないかと思いますが、なんとか形にしてみました。
グローバル関数の所や演算を行っている箇所なんかは、改善の余地ありと言ったところでしょうか。
今後は、よりグラフィカルなものにアップデートできるといいなと思っています。

0
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up

Qiita Conference 2025 will be held!: 4/23(wed) - 4/25(Fri)

Qiita Conference is the largest tech conference in Qiita!

Keynote Speaker

ymrl、Masanobu Naruse, Takeshi Kano, Junichi Ito, uhyo, Hiroshi Tokumaru, MinoDriven, Minorun, Hiroyuki Sakuraba, tenntenn, drken, konifar

View event details
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?