Python Forum
AttributeError: 'area' object has no attribute 'areaofcircle' - Printable Version

+- Python Forum (https://python-forum.io)
+-- Forum: Python Coding (https://python-forum.io/forum-7.html)
+--- Forum: General Coding Help (https://python-forum.io/forum-8.html)
+--- Thread: AttributeError: 'area' object has no attribute 'areaofcircle' (/thread-20221.html)



AttributeError: 'area' object has no attribute 'areaofcircle' - shane1236 - Aug-01-2019

Hello everyone,

I'm facing trouble in the following code, can somebody help me.I am new here even I don't know how to post my code sorry about that. One more thing I want to
understand in the first for loop I passed values to the class, but the variables are taking random value, why we are passing these values, kindly let me know

import math, random
class area():
    def __init__(self,radius=None, length=None, breath=None, height=None, base=None):
        if radius==0 and breath!=0:
                self.radius=random.uniform(1.1, 9.5)
                self.length=random.uniform(10.5,15.5)
                self.breath=random.uniform(15,20)
                self.height=random.uniform(20,25)
                self.base=random.uniform(26,32)
        elif length==0 and heigh!=0: 
                self.radius=random.uniform(1.1, 9.5)
                self.length=length
                self.breath=random.uniform(15,20)
                self.height=height
                self.base=base
        elif height==0 and base!=0:
                self.radius=radius
                self.length=random.uniform(1.1, 9.5)
                self.breath=breath
                self.height=random.uniform(1.1, 9.5)
                self.base=base    

    def areaofcircle(self):
        return (self.radius**2)*math.pi
    def areaoftriangl(self):
        return 0.5*(self.height)*(self.base)    
    def areaofrectangle(self):
        return (self.length)*(self.breath)

areas=[]
for i in range(0,10):
    v=area(1,3,5,0,0)
    areas.append(v)

for v in areas:
    print(  
           "Area of Circle:",   v.areaofcircle(),\
		   "Area of Triangle:", v.areaoftriangl(),\
		   "Area of Rectangle:",v.areaofrectangle(),\
          
		)



RE: AttributeError: 'area' object has no attribute 'areaofcircle' - cvsae - Aug-01-2019

(Aug-01-2019, 09:56 AM)shane1236 Wrote: Hello everyone,

I'm facing trouble in the following code, can somebody help me.I am new here even I don't know how to post my code sorry about that. One more thing I want to
understand in the first for loop I passed values to the class, but the variables are taking random value, why we are passing these values, kindly let me know

import math, random
class area():
    def __init__(self,radius=None, length=None, breath=None, height=None, base=None):
        if radius==0 and breath!=0:
                self.radius=random.uniform(1.1, 9.5)
                self.length=random.uniform(10.5,15.5)
                self.breath=random.uniform(15,20)
                self.height=random.uniform(20,25)
                self.base=random.uniform(26,32)
        elif length==0 and heigh!=0: 
                self.radius=random.uniform(1.1, 9.5)
                self.length=length
                self.breath=random.uniform(15,20)
                self.height=height
                self.base=base
        elif height==0 and base!=0:
                self.radius=radius
                self.length=random.uniform(1.1, 9.5)
                self.breath=breath
                self.height=random.uniform(1.1, 9.5)
                self.base=base    

    def areaofcircle(self):
        return (self.radius**2)*math.pi
    def areaoftriangl(self):
        return 0.5*(self.height)*(self.base)    
    def areaofrectangle(self):
        return (self.length)*(self.breath)

areas=[]
for i in range(0,10):
    v=area(1,3,5,0,0)
    areas.append(v)

for v in areas:
    print(  
           "Area of Circle:",   v.areaofcircle(),\
		   "Area of Triangle:", v.areaoftriangl(),\
		   "Area of Rectangle:",v.areaofrectangle(),\
          
		)

You are trying to declare radius inside an if elif statement, v=area(1,3,5,0,0) at the if radius==0 and breath!=0: radius not declared at the elif length==0 and heigh!=0: also radius not declere the same happens and at elif height==0 and base!=0: Example if use v=area(0,3,5,0,0) radius to 0 self.radius declared successfully


RE: AttributeError: 'area' object has no attribute 'areaofcircle' - shane1236 - Aug-01-2019

what do you mean? where should I declare radius? and is it only problem for radius or other parameters like length and etc..


RE: AttributeError: 'area' object has no attribute 'areaofcircle' - ThomasL - Aug-01-2019

BTW: what should the variable "breath" mean?
How long you can stay under water?
I assume you mean "width" ;-)


RE: AttributeError: 'area' object has no attribute 'areaofcircle' - cvsae - Aug-01-2019

(Aug-01-2019, 10:31 AM)shane1236 Wrote: what do you mean? where should I declare radius? and is it only problem for radius or other parameters like length and etc..

does the code wich you use are the same code with you have provide if yes your post subject AttributeError: 'area' object has no attribute 'areaofcircle' else please paste the code wich you use and get this AttributeError


RE: AttributeError: 'area' object has no attribute 'areaofcircle' - shane1236 - Aug-02-2019

@cvsae, Thanks for your help, well, I'm curious to know why should we put radius=0, and if i we don't then how to handle the problem.
Thanks

(Aug-01-2019, 10:38 AM)ThomasL Wrote: BTW: what should the variable "breath" mean? How long you can stay under water? I assume you mean "width" ;-)
Yes!so far I forgot to put "d" in "breath" your assumption could be right :). Otherwise, not there is no difference. ;)