Lonely_coder_007's blog

By Lonely_coder_007, history, 3 years ago, In English

class Rational: def init(self, numerator, denominator): self.numerator = numerator self.denominator = denominator

def __add__(self, other):
    # Calculate the numerator and denominator for addition
    numerator = self.numerator * other.denominator + other.numerator * self.denominator
    denominator = self.denominator * other.denominator
    return Rational(numerator, denominator)

def __sub__(self, other):
    # Calculate the numerator and denominator for subtraction
    numerator = self.numerator * other.denominator - other.numerator * self.denominator
    denominator = self.denominator * other.denominator
    return Rational(numerator, denominator)

def __mul__(self, other):
    # Calculate the numerator and denominator for multiplication
    numerator = self.numerator * other.numerator
    denominator = self.denominator * other.denominator
    return Rational(numerator, denominator)

def __truediv__(self, other):
    # Calculate the numerator and denominator for division
    numerator = self.numerator * other.denominator
    denominator = self.denominator * other.numerator
    return Rational(numerator, denominator)

def display(self):
    # Simplify the rational number
    gcd = self.gcd(self.numerator, self.denominator)
    simplified_numerator = self.numerator // gcd
    simplified_denominator = self.denominator // gcd
    print(f"{simplified_numerator} / {simplified_denominator}")

def gcd(self, a, b):
    # Calculate the greatest common divisor using Euclidean algorithm
    while b != 0:
        a, b = b, a % b
    return a

print("Get input for the first rational number") numerator1 = int(input()) denominator1 = int(input())

print("Create the first rational number object") rational1 = Rational(numerator1, denominator1)

print("Get input for the second rational number") numerator2 = int(input()) denominator2 = int(input())

print("Create the second rational number object") rational2 = Rational(numerator2, denominator2)

print("Perform addition, subtraction, multiplication, and division") result_add = rational1 + rational2 result_sub = rational1 — rational2 result_mul = rational1 * rational2 result_div = rational1 / rational2

result_add.display() result_sub.display() result_mul.display() result_div.display()

  • Vote: I like it
  • -16
  • Vote: I do not like it