2017-12-14 10 views
0
import math 
class Circle(): 
    def __init__(self,radius,centre): 
     self.radius=radius 
     self.centre=centre 

    def circumference(): 
     return 2.0*math.pi*self.radius 


c1 = Circle(1.0, (0.5 , 1.0)) 
c2 = Circle(1.5, (-0.5 , 2.0)) 

print(c1.radius) 
print(c2.radius) 
print(c1.circumference) 
print(c2.circumference) 

出力:のpython 3.6.3(OOPS)

1.0 
1.5 
<bound method Circle.circumference of <__main__.Circle object at 0x7facb18214a8>> 

このエラーは何を意味するのでしょうか?

+1

の内側(__init__で定義されている)radiusにアクセスするための方法/機能circumferenceselfに合格する必要がありますか?.... – Sayse

+5

エラーがここにはありません。関数の署名を印刷しています。代わりに 'c1.circumference()'を呼び出すようにしてください。 –

+2

また、 'circum'定義に' self'を渡す必要があります。 –

答えて

0

circumferenceの後に中カッコを付けるのを忘れたことがあります。 circumferenceClass Circleのメソッドなので、circumference()と呼びます。また、あなたはどのようなエラーcircumference

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

    def circumference(self): 
     return 2.0*math.pi*self.radius 


c1 = Circle(1.0, (0.5 , 1.0)) 
c2 = Circle(1.5, (-0.5 , 2.0)) 

print(c1.radius) 
print(c2.radius) 
print(c1.circumference()) 
print(c2.circumference()) 
+0

これは本当かもしれませんが、これは質問が求めているものではありません。 – Sayse

+0

インデントが間違っていると申し訳ありません。私はあなたが今これをチェックできるコードを修正しました。 –

関連する問題