예제 #1
0
class CalculatorLibrary(object):
    def __init__(self):
        self.calc = Calculator()

    def calculate(self, input_a, input_b, operation):
        if operation == "+":
            return self.calc.add(input_a, input_b)
        elif operation == "-":
            return self.calc.sub(input_a, input_b)
        elif operation == "*":
            return self.calc.mul(input_a, input_b)
        elif operation == "/":
            return self.calc.div(input_a, input_b)
        else:
            raise ValueError("wrong operation")
예제 #2
0
def main():
    print("Hello! Welcome~")
    print("Please enter the kind of function you would like to use.")
    print("Currently supported functions are: \n" +
          list_to_string(FUNCTIONS_SUPPORTED))

    sel = input("Select an option: ")

    # Apply logic based on selection
    if (sel == "add"):
        print("Specify two numbers, a and b")
        a = input("a: ")
        b = input("b: ")
        # Cast numbers to float via function, then add
        res = Calculator.add(float(a), float(b))
        print("Result: " + str(res))

    elif (sel == "sub"):
        print("Specify two numbers, a and b")
        a = input("a: ")
        b = input("b: ")
        res = Calculator.sub(float(a), float(b))
        print("Result " + str(res))

    elif (sel == "mul"):
        print("Specify two numbers, a and b")
        a = input("a: ")
        b = input("b: ")
        res = Calculator.mul(float(a), float(b))
        print("Result " + str(res))

    elif (sel == "div"):
        print("Specify two numbers, a and b")
        a = input("a: ")
        b = input("b: ")
        res = Calculator.div(float(a), float(b))
        print("Result " + str(res))

    elif (sel == "power"):
        print("Specify two numbers, a and b")
        a = input("a: ")
        b = input("b: ")
        res = Calculator.power(float(a), float(b))
        print("Result " + str(res))

    else:
        print("Function \"" + sel + "\" not implemented.")
예제 #3
0
from calc import Calculator
from calc import Advanced_calculator

my_calc = Calculator()

print(my_calc.add(5,4))
print(my_calc.add(4,6))
print(my_calc.history)
print(my_calc.result)
my_calc.memory_save()
print (my_calc.memory)
print(my_calc.add(4,None))

print(my_calc.mul(5,4))
print(my_calc.div(7,6))
print(my_calc.sub(10,6))

print(my_calc.div(7,0))


print(my_calc.history)
my_calc.clear_history()
print(my_calc.history)

my_calc.memory_save()
print (my_calc.memory, " add")
my_calc.clear_memory()
print (my_calc.memory, " clear")

print(my_calc.sub(10,15))
예제 #4
0
 def test_mul(self):
     print('Test mul(self, num1, num2) ')
     calc = Calculator()
     result = calc.mul(3, 6)
     self.assertEqual(result, 18, 'Match expected value')
예제 #5
0
 def test_mul(self):
     calc = Calculator()
     self.assertEqual(calc.mul(5, 2), 10)
예제 #6
0
#!/usr/bin/env python

from calc import Calculator


def assertAlmostEqual(a, b):
    """ A function that tests the approximate equality of two floating point numbers. """
    assert round(a - b, 7) == 0, "{} is not equal to {}.".format(a, b)


c1 = Calculator()  # Create an instance of a calculator
c2 = Calculator(50)  # Create another calculator, initialized with 50

# Test individual methods, and that the two instances properly
# track their own state.
c1.add(2)
assertAlmostEqual(c1.result(), 2)
c1.mul(4)
assertAlmostEqual(c1.result(), 8)
c2.add(50)
assertAlmostEqual(c2.result(), 100)
c1.div(8)
assertAlmostEqual(c1.result(), 1)
c1.sub(-3.)
assertAlmostEqual(c1.result(), 4)
c2.div(c1.result())
assertAlmostEqual(c2.result(), 25)

print("All tests passed! You have a working calculator!")