Как я могу позволить пользователю вводить параметры, которые он / она хочет внутри класса? - PullRequest
0 голосов
/ 27 апреля 2019

Я создал базовый класс калькулятора с умножением сложения и делением в нем в качестве функций. Как я могу позволить пользователю вводить то, что (x, y) он / она хочет при использовании калькулятора?

class Calc:
    def addition(x, y):
        print(f'your result is{x} + {y}')

    def subtraction(x, y):
        print(f'your result is{x} - {y}')

    def multiplication(x, y):
        print(f'your result is{x} * {y}')

    def division(x, y):
        print(f'your result is{x} / {y}')

    def rounded_division(x, y):
        print(f'your result is{x} // {y}')

что-то вроде: «какую операцию вы хотите выполнить ?: (пользовательский ввод)» затем «с какими числами вы хотите выполнить эту операцию?»

1 Ответ

0 голосов
/ 27 апреля 2019

Вы можете использовать входные данные для x и y в методе __init__() класса.Метод init будет запрашивать входные данные при создании экземпляра класса.

class Calc:
    def __init__(self):
        self.x = int(input("What is x?"))
        self.y = int(input("What is y?"))

    def addition(self):
        print('your result is {}'.format((self.x+self.y)))

    def subtraction(self):
        print('your result is {}'.format((self.x-self.y)))

    def multiplication(self):
        print('your result is {}'.format((self.x*self.y)))

    def division(self):
        print('your result is {}'.format((self.x/self.y)))

    def rounded_division(self):
        print('your result is {}'.format((self.x//self.y)))

Вызовы вывода и вычисления будут выглядеть следующим образом:

>>> calc = Calc()
What is x?>? 4
What is y?>? 3
>>> calc.addition()
your result is 7
>>> calc.subtraction()
your result is 1
>>> calc.multiplication()
your result is 12
>>> calc.division()
your result is 1.3333333333333333
>>> calc.rounded_division()
your result is 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...