ohms_law.py

Created by doug

Created on May 01, 2018

2.24 KB

ohms law calculator


class ohm(object):
    """ Class for Ohm Law Calculation , You can get Resistance , Current or
voltage , if you have Two Values of This Three """
    def __init__(self,r,i,v):
        self.r=r
        self.i=i
        self.v=v

    def get_volt(self): #Law : Voltage = Resistance * Current
        "Get the Value of Voltage"
        if self.r ==0 or self.i==0:
            return "Values must be greater than '0' "
        else:
            print ('V: ', self.r*self.i)
            print ('I: ', self.i)
            print ('R: ', self.r)
            print ('W: ', (self.r*self.i)*self.i)
            return #self.r*self.i

    def get_current(self): #Law : Current = Voltage / Resistance
        "Get the value of Current"
        if self.v ==0 or self.r==0:
            return "Values must be greater than '0' "
        else:
            print ('V: ', self.v)
            print ('I: ', self.v/self.r)
            print ('R: ', self.r)
            print ('W: ',(self.v/self.r)*self.v)
            return #self.v/self.r

    def get_resistance(self):#Law : Resistance = Voltage / Current
        "Get the Value of Resistance"
        if self.v==0 or self.i==0:
            return "Values must be greater than '0' "
        else:
            print ('V: ', self.v)
            print ('I: ', self.i)
            print ('R: ', self.v/self.i)
            print ('W: ', self.v*self.i)
            return #self.v/self.i



#User must enter Two value from (Resistance ,Current ,Voltage) values

eye=0 #This for check errors
try:
    r=float(input('Enter R:: '))
except:
    eye+=1
try:
    i=float(input('Enter I:: '))
except:
    eye+=1
try:
    v=float(input('Enter V:: '))
except:
    eye+=1

if eye>=2 :
    print ('ERROR: Enter atlest Two Values')

#import the right method from class ohm to get result of calculations
try :
    if r and i :
        v=0
        ohm(r,i,v).get_volt()
        #print ('Voltage = ',ohm(r,i,v).get_volt(),'Volts')
except :
    pass
try:
    if v and r:
        i=0
        ohm(r,i,v).get_current()
        #print ('Current = ',ohm(r,i,v).get_current(),'Amps')
except :
    pass
try:
    if v and i:
        r=0
        ohm(r,i,v).get_resistance()
        #print ('Resistance = ',ohm(r,i,v).get_resistance(),'Ohms')
except SubError as Err :
    pass