Ejemplo n.º 1
0
 def func(x, y, msg):
     if y == 0:
         pass
     else:
         frac = -Fraction(x, y)
         self.assertEqual(-Rational(BigInt(x), BigInt(y)),
                          Rational(BigInt(frac.numerator),
                                   BigInt(frac.denominator)),
                          msg=msg)
Ejemplo n.º 2
0
 def func(a, b, c, d, msg):
     if b == 0 or d == 0:
         pass
     else:
         x = Rational(BigInt(a), BigInt(b))
         fx = Fraction(a, b)
         y = Rational(BigInt(c), BigInt(d))
         fy = Fraction(c, d)
         self.assertEqual(x == y, fx == fy, msg=msg)
Ejemplo n.º 3
0
 def func(a, b, c, d, msg):
     if b == 0 or d == 0:
         pass
     else:
         x = Rational(BigInt(a), BigInt(b))
         y = Rational(BigInt(c), BigInt(d))
         x2, y2 = x.lcd(y)
         self.assertEqual(x, x2, msg=msg)
         self.assertEqual(y, y2, msg=msg)
         self.assertEqual(x2.denominator, y2.denominator, msg=msg)
Ejemplo n.º 4
0
 def func(x, y, msg):
     old = Rational(BigInt(x), BigInt(y))
     a = old.simplify()
     self.assertEqual(old.positive, a.positive)
     self.assertEqual(a.numerator,
                      BigInt(Fraction(x, y).numerator),
                      msg=msg)
     self.assertEqual(a.denominator,
                      BigInt(Fraction(x, y).denominator),
                      msg=msg)
Ejemplo n.º 5
0
 def func(a, b, c, d, msg):
     if b == 0 or d == 0:
         pass
     else:
         x = Rational(BigInt(a), BigInt(b))
         y = Rational(BigInt(c), BigInt(d))
         diff = x * y
         f = Fraction(a, b) * Fraction(c, d)
         self.assertEqual(diff,
                          Rational(BigInt(f.numerator),
                                   BigInt(f.denominator)),
                          msg=msg)
Ejemplo n.º 6
0
 def func(a, b, c, d, msg):
     if b == 0 or d != 1:
         pass
     elif a == 0 and c < 0:
         with self.assertRaises(ZeroDivisionError):
             ans = Rational(BigInt(a), BigInt(b))**BigInt(c)
     else:
         ans = Rational(BigInt(a), BigInt(b))**BigInt(c)
         frac = Fraction(a, b)**c
         fracans = Rational(BigInt(frac.numerator),
                            BigInt(frac.denominator))
         self.assertEqual(ans, fracans, msg=msg)
Ejemplo n.º 7
0
 def func(a, b, c, d, msg):
     if b == 0 or d == 0:
         pass
     else:
         x = Rational(BigInt(a), BigInt(b))
         fx = Fraction(a, b)
         y = Rational(BigInt(c), BigInt(d))
         fy = Fraction(c, d)
         self.assertEqual(x < y,
                          fx < fy,
                          msg=msg + "|| x={0}, y={1}".format(*x.lcd(y)))
         self.assertEqual(x <= y,
                          fx <= fy,
                          msg=msg + "|| x={0}, y={1}".format(*x.lcd(y)))
Ejemplo n.º 8
0
 def func(a, b, c, d, msg):
     if b == 0 or d == 0:
         pass
     else:
         x = Rational(BigInt(a), BigInt(b))
         y = Rational(BigInt(c), BigInt(d))
         if c == 0:
             with self.assertRaises(ZeroDivisionError):
                 diff = x / y
         else:
             diff = x / y
             f = Fraction(a, b) / Fraction(c, d)
             self.assertEqual(diff,
                              Rational(BigInt(f.numerator),
                                       BigInt(f.denominator)),
                              msg=msg)
Ejemplo n.º 9
0
 def func(x, y, msg):
     if y == 0:
         with self.assertRaises(ZeroDivisionError):
             Rational(BigInt(x), BigInt(y))
     else:
         a = Rational(BigInt(x), BigInt(y))
         if x == 0:
             self.assertEqual(a.numerator, BigInt(0), msg=msg)
             self.assertEqual(a.denominator, abs(BigInt(y)), msg=msg)
             self.assertTrue(a.positive, msg=msg)
         else:
             self.assertEqual(a.numerator, abs(BigInt(x)), msg=msg)
             self.assertEqual(a.denominator, abs(BigInt(y)), msg=msg)
             if BigInt(x).positive == BigInt(y).positive:
                 self.assertTrue(a.positive, msg=msg)
             else:
                 self.assertFalse(a.positive, msg=msg)
Ejemplo n.º 10
0
def main():
    num, den = enterData("Enter data for r1")
    r1 = Rational(num, den)
    num, den = enterData("Enter data for r2")
    r2 = Rational(num, den)
    print()
    r3 = Rational.multiply(r1, r2)
    print(r1.getOriginal() + " * " + r2.getOriginal() + " = " +
          r3.getRational())
    r3 = Rational.divide(r1, r2)
    print(r1.getOriginal() + " / " + r2.getOriginal() + " = " +
          r3.getRational())
Ejemplo n.º 11
0
 def testNe(self):
     r1 = Rational(10,12)
     r2 = Rational(6,8)
     r3 = r1 != r2
     self.assertEqual(str(r3), 'True' or 'False')
Ejemplo n.º 12
0
 def testEq(self):
     r1 = Rational(1,4)
     r2 = Rational(2,8)
     r3 = r1 == r2
     self.assertEqual(str(r3), 'True' or 'False')
Ejemplo n.º 13
0
 def testGe(self):
     r1 = Rational(3,6)
     r2 = Rational(4,12)
     r3 = r1 >= r2
     self.assertEqual(str(r3), 'True' or 'False')
Ejemplo n.º 14
0
 def testGt(self):
     r1 = Rational(3,4)
     r2 = Rational(2,16)
     r3 = r1 > r2
     self.assertEqual(str(r3), 'True' or 'False')
Ejemplo n.º 15
0
 def testLt(self):
     r1 = Rational(2,4)
     r2 = Rational(4,6)
     r3 = r1 < r2
     self.assertEqual(str(r3), 'True' or 'False')    
Ejemplo n.º 16
0
 def testTruediv(self):
     r1 = Rational(10,12)
     r2 = Rational(6,8)
     r3 = r1 / r2
     self.assertEqual(str(r3), '10/9')
Ejemplo n.º 17
0
 def genVals (self,count=5):
     while self.k <= count:
         self.piList.append(Rational.Rational(int(math.pow(-1,self.k+1)),(2*self.k)-1))
         self.k+=1
Ejemplo n.º 18
0
 def testAdd(self):
     r1 = Rational(1,4)
     r2 = Rational(-4,8)
     r3 = r1 + r2
     self.assertEqual(str(r3), '-1/4')
Ejemplo n.º 19
0
 def testsimplify(self):
     #self.assertEqual(Rational.simplify(12/14), (6/7))
     self.assertEqual(Rational(12, 14).simplify(), Rational(6, 7))
Ejemplo n.º 20
0
 def testConstructorTwolnt(self):
     r = Rational(3, 4)
     self.assertEqual(str(r), '3/4')
Ejemplo n.º 21
0
import Rational

engineProgramLoop = True
while engineProgramLoop == True:
    Rational.Rational().meetUser()

    num1 = int(input("Enter number 1: "))
    num2 = int(input("Enter number 2: "))

    num3 = int(input("Enter number 3: "))
    num4 = int(input("Enter number 4: "))

    operation = input("Operation --> ")

    fraction1 = Rational.Rational(num1, num2)
    fraction2 = Rational.Rational(num3, num4)

    print(f"{fraction1} {operation} {fraction1} ")
    if (num2 == 0) or (num4 == 0):
        print(f"Division by zero denominator:{num2}")
        engineExitLoop = True
        while engineExitLoop == True:
            exitUser = int(
                input(
                    "\nIf you want exit program enter 0\nIf you want retry enter 1\n--> "
                ))
            if (exitUser == 1):
                engineExitLoop = False
            elif (exitUser == 0):
                engineExitLoop = False
                engineProgramLoop = False
Ejemplo n.º 22
0
 def test_hash(self):
     a = Rational(BigInt(2), BigInt(4))
     b = Rational(BigInt(1), BigInt(2))
     c = Rational(BigInt(-1), BigInt(2))
     d = Rational(BigInt(2), BigInt(-4))
     self.assertEqual(len(set([a, b, c, d])), 2)
import Rational

fractionOne = Rational.Rational(2, 6)
fractionTwo = Rational.Rational(6, 10)

print("Reduced form of Fraction One: {}".format(fractionOne))
print("Reduced form of Fraction Two: {}".format(fractionTwo))

print("Addition {} + {} = {} ".format(fractionOne, fractionTwo,
                                      fractionOne.__add__(fractionTwo)))
print("Subtraction {} - {} = {} ".format(fractionOne, fractionTwo,
                                         fractionOne.__sub__(fractionTwo)))
print("Multiplication {} x {} = {} ".format(fractionOne, fractionTwo,
                                            fractionOne.__mul__(fractionTwo)))
print("Division {} ÷ {} = {} ".format(fractionOne, fractionTwo,
                                      fractionOne.__div__(fractionTwo)))
Ejemplo n.º 24
0
import Rational

# 유리수 r1과 r2를 생성하고 초기화한다.
r1 = Rational.Rational(4, 2)
r2 = Rational.Rational(2, 3)

# 결과를 출력한다.
print(r1, "+", r2, "=", r1 + r2)
print(r1, "-", r2, "=", r1 - r2)
print(r1, "*", r2, "=", r1 * r2)
print(r1, "/", r2, "=", r1 / r2)

print(r1, ">", r2, "의 결과는", r1 > r2)
print(r1, ">=", r2, "의 결과는", r1 >= r2)
print(r1, "<", r2, "의 결과는", r1 < r2)
print(r1, "<=", r2, "의 결과는", r1 <= r2)
print(r1, "==", r2, "의 결과는", r1 == r2)
print(r1, "!=", r2, "의 결과는", r1 != r2)

print("int(r2)는", int(r2))
print("float(r2)는", float(r2))

print("r2[0]는", r2[0])
print("r2[1]은", r2[1])
Ejemplo n.º 25
0
 def testConstructorOnelnt(self):
     r = Rational(-3)
     self.assertEqual(str(r), '-3/1')
Ejemplo n.º 26
0
 def testSub(self):
     r1 = Rational(1,4)
     r2 = Rational(2,8)
     r3 = r1 - r2
     self.assertEqual(str(r3), '0/1')
Ejemplo n.º 27
0
 def testMul(self):
     r1 = Rational(2, 3)
     r2 = Rational(3, 4)
     r3 = r1 * r2
     self.assertEqual(str(r3), '6/12')
Ejemplo n.º 28
0
from Rational import *
r1 = Rational(1, 2)
print(r1)