Classes -1.docx

  • Uploaded by: Kamineni Jagath
  • 0
  • 0
  • May 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Classes -1.docx as PDF for free.

More details

  • Words: 632
  • Pages: 5
################# ## EXAMPLE: simple Coordinate class ################# class Coordinate(object): """ A coordinate made up of an x and y value """ def __init__(self, x, y): """ Sets the x and y values """ self.x = x self.y = y def __str__(self): """ Returns a string representation of self """ return "<" + str(self.x) + "," + str(self.y) + ">" def distance(self, other): """ Returns the euclidean distance between two points """ x_diff_sq = (self.x-other.x)**2 y_diff_sq = (self.y-other.y)**2 return (x_diff_sq + y_diff_sq)**0.5 c = Coordinate(3,4) origin = Coordinate(0,0) print(c.x, origin.x) print(c.distance(origin)) print(Coordinate.distance(c, origin)) print(origin.distance(c)) print(c)

30 5.0 5.0 5.0 <3,4>

################# ## EXAMPLE: simple class to represent fractions ## Try adding more built-in operations like multiply, divide ### Try adding a reduce method to reduce the fraction (use gcd) ################# class Fraction(object): """ A number represented as a fraction """ def __init__(self, num, denom): """ num and denom are integers """ assert type(num) == int and type(denom) == int, "ints not used" self.num = num self.denom = denom def __str__(self): """ Retunrs a string representation of self """ return str(self.num) + "/" + str(self.denom)

def __add__(self, other): """ Returns a new fraction representing the addition """ top = self.num*other.denom + self.denom*other.num bott = self.denom*other.denom return Fraction(top, bott) def __sub__(self, other): """ Returns a new fraction representing the subtraction """ top = self.num*other.denom - self.denom*other.num bott = self.denom*other.denom return Fraction(top, bott) def __float__(self): """ Returns a float value of the fraction """ return self.num/self.denom def inverse(self): """ Returns a new fraction representing 1/self """ return Fraction(self.denom, self.num) a = Fraction(1,4) b = Fraction(3,4) c = a + b # c is a Fraction object print(c) print(float(c)) print(Fraction.__float__(c)) print(float(b.inverse())) ##c = Fraction(3.14, 2.7) # assertion error ##print a*b # error, did not define how to multiply two Fraction objects

16/16 1.0 1.0 1.3333333333333333

############## ## 3.EXAMPLE: a set of integers as class ############## class intSet(object): """ An intSet is a set of integers The value is represented by a list of ints, self.vals Each int in the set occurs in self.vals exactly once """ def __init__(self): """ Create an empty set of integers """ self.vals = [] def insert(self, e): """ Assumes e is an integer and inserts e into self """ if not e in self.vals: self.vals.append(e) def member(self, e): """ Assumes e is an integer Returns True if e is in self, and False otherwise """

return e in self.vals def remove(self, e): """ Assumes e is an integer and removes e from self Raises ValueError if e is not in self """ try: self.vals.remove(e) except: raise ValueError(str(e) + ' not found') def __str__(self): """ Returns a string representation of self """ self.vals.sort() return '{' + ','.join([str(e) for e in self.vals]) + '}' s = intSet() print(s) s.insert(3) s.insert(4) s.insert(3) print(s) s.member(3) s.member(5) s.insert(6) print(s) #s.remove(7) s.remove(3) print(s)

# leads to an error

{} {3,4} {3,4,6} {4,6} ##############

## 4.EXAMPLE: Symbolic Python example (newton Raphson method) ############## https://github.com/TheAlgorithms/Python/blob/3a0555bdd7d9cfb4cfcf165249bb95b67cab3877/Arithmet icAnalysis/NewtonRaphsonMethod.py

# Implementing Newton Raphson method in python # Author: Haseeb

from sympy import diff from decimal import Decimal from math import sin, cos, exp

def NewtonRaphson(func, a): ''' Finds root from the point 'a' onwards by Newton-Raphson method ''' while True: x = a c = Decimal(a) - ( Decimal(eval(func)) / Decimal(eval(str(diff(func)))) )

x = c a = c # This number dictates the accuracy of the answer if

abs(eval(func)) < 10**-15: return

c

# Let's Execute if __name__ == '__main__': # Find root of trignometric fucntion # Find value of

pi

print ('sin(x) = 0', NewtonRaphson('sin(x)', 2))

# Find root of polynomial print ('x**2 - 5*x +2 = 0', NewtonRaphson('x**2 - 5*x +2', 0.4))

# Find Square Root of 5 print ('x**2 - 5 = 0', NewtonRaphson('x**2 - 5', 0.1))

#

Exponential Roots

print ('exp(x) - 1 = 0', NewtonRaphson('exp(x) - 1', 0))

Related Documents

Classes
April 2020 31
Classes
May 2020 17
Classes
July 2020 23
Classes
December 2019 38
Classes
December 2019 35
Classes
April 2020 25

More Documents from ""

Classes -1.docx
May 2020 8
Hv Warning.docx
May 2020 9
Xu2001.pdf
May 2020 6
1-21.docx
May 2020 4