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

  • Else Block in Exception Handling in Python

    Else Block in Exception Handling in Python The else block in Python exception handling executes only if the try block completes successfully without any exceptions. It’s placed after all except blocks and before the finally block. Basic Syntax: python try: # Code that might raise an exception except SomeException: # Handle the exception else: # Code that runs only if no exception…

  • Method overriding

    Method overriding is a key feature of object-oriented programming (OOP) and inheritance. It allows a subclass (child class) to provide its own specific implementation of a method that is already defined in its superclass (parent class). When a method is called on an object of the child class, the child’s version of the method is…

  • Create a User-Defined Exception

    A user-defined exception in Python is a custom error class that you create to handle specific error conditions within your code. Instead of relying on built-in exceptions like ValueError, you define your own to make your code more readable and to provide more specific error messages. You create a user-defined exception by defining a new…

  • Password Strength Checker

    python Enhanced Password Strength Checker python import re def is_strong(password): “”” Check if a password is strong based on multiple criteria. Returns (is_valid, message) tuple. “”” # Define criteria and error messages criteria = [ { ‘check’: len(password) >= 8, ‘message’: “at least 8 characters” }, { ‘check’: bool(re.search(r'[A-Z]’, password)), ‘message’: “one uppercase letter (A-Z)”…

  • Function Returns Multiple Values in Python

    Function Returns Multiple Values in Python In Python, functions can return multiple values by separating them with commas. These values are returned as a tuple, but they can be unpacked into individual variables. Basic Syntax python def function_name(): return value1, value2, value3 # Calling and unpacking var1, var2, var3 = function_name() Simple Examples Example 1:…

  • Escape Sequences in Python

    Escape Sequences in Python Regular Expressions – Detailed Explanation Escape sequences are used to match literal characters that would otherwise be interpreted as special regex metacharacters. 1. \\ – Backslash Description: Matches a literal backslash character Example 1: Matching file paths with backslashes python import re text = “C:\\Windows\\System32 D:\\Program Files\\” result = re.findall(r'[A-Z]:\\\w+’, text) print(result) #…

Leave a Reply

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