kirazero
@kirazero

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

パイソン クラス 四則演算

Q&A

パイソン初心者です。パイソンの2つの整数値を入力して整数値の和、差、積、商を表示するプログラムを作りたいんですがコードがいまいちわかりません。
インスタンス変数x,yとしClacを定義して整数値を指定できるようなコードにしたいです。

実行結果
1st number=6
2nd number=3
add=9
sub=3
mul=18
div=2.0

のような結果にしたいです。1st number=と2nd number=は自分で入力できるようにしたいです。

class Calc():
def init(self, m, n):
self.x = m
self.y = n

def add(self):
return self.x + self.y
def sub(self):
return self.x - self.y
def mul(self):
return self.x * self.y
def div(self):
return self.x / self.y

こんな感じで書いてみたのですがここからどうすればよいか分からなくなっています。
よろしくお願いします。

0

2Answer

コメントだとコードブロックが反映されない?ようなので別途回答を投稿いたします!

色々方法はありますが、以下のような感じでどうでしょう?

class Calc:

    def __init__(self, m, n):
        self.x = m
        self.y = n

    def add(self):
        return self.x + self.y

    def sub(self):
        return self.x - self.y

    def mul(self):
        return self.x * self.y

    def div(self):
        return self.x / self.y


m = int(input('mの値を入力してください(整数値):'))
n = int(input('nの値を入力してください(整数値):'))

calc = Calc(m=m, n=n)
print('和:', calc.add())
print('差:', calc.sub())
print('', calc.mul())
print('', calc.div())

m = int(input('mの値を入力してください(整数値):'))という行と、n = int(input('nの値を入力してください(整数値):'))という2行のみ加えてあります!

input関数はユーザーに対して入力を求めるためのインターフェイスで、プロンプトなどでこのPythonプログラムを実行するとmの値を入力してください(整数値):といったような表示となり、ユーザーの入力を待機する感じになります!(整数を入力してエンターを押すと次に進みます。mとnで二回入力を求められます!)

input関数の返却値は文字列(str型)となるものの、計算には整数(int)が必要なので、int(...)int関数で囲む形で整数にキャスト(型変換)しています!

実行してみると以下のように表示されます!

mの値を入力してください(整数値):6
nの値を入力してください(整数値):3
和: 9
差: 3
積 18
商 2.0
1Like

Comments

  1. @kirazero

    Questioner

    解答ありがとうございます!!丁寧にわかりやすくありがとうございます!(*´ω`*)
    intの使い方を忘れていました、、、
    うまく実行できました!!!
    また何かあればよろしくお願いします!!

こちらで文章読み間違えていなければ以下のようなものでしょうか?

class Calc:

    def __init__(self, m, n):
        self.x = m
        self.y = n

    def add(self):
        return self.x + self.y

    def sub(self):
        return self.x - self.y

    def mul(self):
        return self.x * self.y

    def div(self):
        return self.x / self.y


calc = Calc(m=6, n=3)
print('和:', calc.add())
print('差:', calc.sub())
print('', calc.mul())
print('', calc.div())

プログラムを実行すると以下のように出力されます!

和: 9
差: 3
積 18
商 2.0

定義したクラスはコンストラクタを呼ぶ(Calc(m=6, n=3)部分)ことでインスタンス化して変数に格納することができます!(__init__の部分がコンストラクタに該当し、最初に呼ばれます。calc = Calc(m=6, n=3)という記述でcalcという変数に格納しています)

その後はそのインスタンスの変数を参照して各メソッド(addsubなど)を呼ぶことで計算結果が返ってきます!

返ってきた値はprint関数で出力しています!

0Like

Comments

  1. @kirazero

    Questioner

    解答ありがとうございます!少しわかってきました!二つの整数値をプロンプト上で入力して計算するにはどうしたら良いですか?
    実行すると
    1st number= ?
    2nd number= ?
    Add =
    Sub =
    Mul =
    Div =
    という形で出したいです!
    この?の部分にはユーザーから入力した形にしたいです。
    プロンプトで入力した整数で計算してみたいっていう感じのプログラムです。
    説明が下手かもしれませんがよろしくお願いします。

Your answer might help someone💌