circle,Rational Number

import math

class Circle:
    def __init__(self, radius):
        self.radius = radius

    def area(self):
        return math.pi * self.radius * self.radius

    def perimeter(self):
        return 2 * math.pi * self.radius
    

c1 = Circle(7)
print('Area:',c1.area())
print('Perimeter:',c1.perimeter())

1. What is a Rational Number?

rational number is any number that can be expressed as a fraction where both the numerator and the denominator are integers (whole numbers), and the denominator is not zero.

The key idea is ratio. The word “rational” comes from the word “ratio.”

General Form:
a / b

  • a is the numerator (an integer)
  • b is the denominator (an integer, and b ≠ 0)

Examples:

  • 1/23/4-5/7 (Simple fractions)
  • 5 (because it can be written as 5/1)
  • 0 (because it can be written as 0/1)
  • -3 (because it can be written as -3/1)
  • 0.75 (because it can be written as 3/4)
  • 0.333... (because it can be written as 1/3)

Non-Examples:

  • π (Pi) – It cannot be expressed as a simple fraction of two integers. Its decimal expansion is non-terminating and non-repeating.
  • √2 (Square root of 2) – It also cannot be expressed as a simple fraction of two integers.

2. Formulas for Addition and Subtraction

The most important rule for adding and subtracting rational numbers is that they must have a common denominator.

Let our two rational numbers be:
a / b and c / d
where a, b, c, d are integers, and b ≠ 0d ≠ 0.

Formula for Addition:

(a/b) + (c/d) = (a×d + c×b) / (b×d)

Step-by-step reasoning:

  1. Find a common denominator. The easiest one is the product of the two denominators: b × d.
  2. Adjust the first fraction: (a/b) becomes (a×d)/(b×d).
  3. Adjust the second fraction: (c/d) becomes (c×b)/(b×d).
  4. Now that the denominators are the same, add the numerators: (a×d + c×b).
  5. Place the result over the common denominator.

Example: Add 1/2 and 1/3

  • a=1, b=2, c=1, d=3
  • Using the formula: (1/2) + (1/3) = (1×3 + 1×2) / (2×3) = (3 + 2) / 6 = 5/6

Formula for Subtraction:

(a/b) – (c/d) = (a×d – c×b) / (b×d)

The process is identical to addition, except you subtract the numerators.

Step-by-step reasoning:

  1. Find the common denominator: b × d.
  2. Adjust the first fraction: (a×d)/(b×d).
  3. Adjust the second fraction: (c×b)/(b×d).
  4. Subtract the numerators: (a×d - c×b).
  5. Place the result over the common denominator.

Example: Subtract 1/3 from 1/2

  • a=1, b=2, c=1, d=3
  • Using the formula: (1/2) - (1/3) = (1×3 - 1×2) / (2×3) = (3 - 2) / 6 = 1/6

Important Note: Simplifying the Result

After you calculate the sum or difference, always check if the resulting fraction can be simplified.

For example, if you add 1/4 + 1/4:

  • (1×4 + 1×4) / (4×4) = (4+4)/16 = 8/16
  • The result 8/16 can be simplified by dividing the numerator and denominator by their greatest common divisor (8), giving you the final answer: 1/2.

Summary

OperationFormulaExample
Addition(a/b) + (c/d) = (ad + bc)/(bd)1/2 + 1/3 = (3+2)/6 = 5/6
Subtraction(a/b) - (c/d) = (ad - bc)/(bd)1/2 - 1/3 = (3-2)/6 = 1/6

class Rational:

    def __init__(self, p, q):
        self.p = p
        self.q = q

    def __add__(self, other):
        p = self.p * other.q + self.q * other.p
        q = self.q * other.q
        sum = Rational(p,q)
        return sum

    def __sub__(self, other):
        p = self.p * other.q - self.q * other.p
        q = self.q * other.q
        sum = Rational(p, q)
        return sum

    def __str__(self):
        return str(self.p) + '/' + str(self.q)


r1 = Rational(2,3)
r2 = Rational(1,2)

r3 = r1 + r2

print(r1, '+', r2, '=', r3)

Similar Posts

  • Finally Block in Exception Handling in Python

    Finally Block in Exception Handling in Python The finally block in Python exception handling executes regardless of whether an exception occurred or not. It’s always executed, making it perfect for cleanup operations like closing files, database connections, or releasing resources. Basic Syntax: python try: # Code that might raise an exception except SomeException: # Handle the exception else:…

  • Python and PyCharm Installation on Windows: Complete Beginner’s Guide 2025

    Installing Python and PyCharm on Windows is a straightforward process. Below are the prerequisites and step-by-step instructions for installation. Prerequisites for Installing Python and PyCharm on Windows Step-by-Step Guide to Install Python on Windows Step 1: Download Python Step 2: Run the Python Installer Step 3: Verify Python Installation If Python is installed correctly, it…

  • positive lookahead assertion

    A positive lookahead assertion in Python’s re module is a zero-width assertion that checks if the pattern that follows it is present, without including that pattern in the overall match. It is written as (?=…). The key is that it’s a “lookahead”—the regex engine looks ahead in the string to see if the pattern inside…

  • date time modules class55

    In Python, the primary modules for handling dates and times are: 🕰️ Key Built-in Modules 1. datetime This is the most essential module. It provides classes for manipulating dates and times in both simple and complex ways. Class Description Example Usage date A date (year, month, day). date.today() time A time (hour, minute, second, microsecond,…

  • Method Overloading

    Python does not support traditional method overloading in the way languages like C++ or Java do. If you define multiple methods with the same name, the last definition will simply overwrite all previous ones. However, you can achieve the same result—making a single method behave differently based on the number or type of arguments—using Python’s…

  • Static Methods

    The primary use of a static method in Python classes is to define a function that logically belongs to the class but doesn’t need access to the instance’s data (like self) or the class’s state (like cls). They are essentially regular functions that are grouped within a class namespace. Key Characteristics and Use Cases General…

Leave a Reply

Your email address will not be published. Required fields are marked *